前端技术已经卷到自己写 CSS 解析器了。

2021-12-22 09:44:32 +08:00
 3dwelcome
字节大佬的分享视频,完全是按照游戏的方式,去自渲染 HTML 和自定义的 CSS 子集。

也就是说,他们用的 Flutter 渲染底层,并没有支持传统的 HTML+CSS+JS 的开发方式,但是他们自己硬塞了一个解析模块和 JS 运行时进去。

可能大家不知道,Flutter 自带的 Flex ,和 DIV 的 Flex 不一样,很多布局都不支持,他们自己按照 W3C ,写 CSS 解析,进行 CSS 覆盖测试,基本能到 95%通过率。

大佬最后说,不能再做下去了,要不然就真的变成开发浏览器了。



https://www.bilibili.com/video/BV1xa411k77h
8430 次点击
所在节点    前端开发
56 条回复
liandi1990
2021-12-22 09:46:36 +08:00
之前看字节前端 jd ,里面有一条“熟悉 webkit 内核优先”
murmur
2021-12-22 09:48:19 +08:00
正常,现在互联网都在裁员,不赶紧整出点轮子位置不保

就国内互联网公司的产品,3 年不开发甚至倒退 3 年都没什么问题,前者性能稳定后者小而美
4ark
2021-12-22 09:48:28 +08:00
卷出天际,快进到前端手写操作系统
otakustay
2021-12-22 10:05:18 +08:00
那后端早就自己改 JVM 了算什么?
66beta
2021-12-22 10:27:45 +08:00
@murmur 非常赞同,一个简单的流程,非要扯一些“千人千面、丰富多样的活动模型、流量输出”,把产品经理都辞退了,中文互联网能清净很多
DOLLOR
2021-12-22 10:28:15 +08:00
没啥,我还手写 WebAssembly 呢。
tabris17
2021-12-22 10:28:49 +08:00
扯淡吧,写个 CSS 解析器+换个 JS 引擎就叫开发浏览器了?
3dwelcome
2021-12-22 10:36:20 +08:00
@tabris17

talk is cheap, 你写一个兼容 W3C 95%的 CSS 解析器试试?前端里最魔幻的就是 CSS 各种奇怪语法了。

人家字节大佬不但敢设想,也同时做出来了,还有真实产品上架的。
tabris17
2021-12-22 10:55:52 +08:00
@3dwelcome 我能不能写出 CSS 解析器跟写个 CSS 解析器就吹牛逼“变成开发浏览器了”没有半毛钱关系
Kilerd
2021-12-22 10:56:05 +08:00
基本能到 95%通过率

老实说我真的不相信
faceair
2021-12-22 10:57:37 +08:00
记得阿里搞过类似的 https://openkraken.com/
Sasasu
2021-12-22 11:05:41 +08:00
看起来是把 CSS 翻译成 Flutter
fgwmlhdkkkw
2021-12-22 11:07:42 +08:00
nt
fgwmlhdkkkw
2021-12-22 11:08:34 +08:00
对于产品来说,有什么必要吗?
agagega
2021-12-22 11:11:59 +08:00
遇到问题->思考解决方案->判断解决方案需要的工作量是否值得->执行合适的方案 才是正确的思维方式。看到别人做了个什么看似底层的东西就说卷,有点学生思维了
ipwx
2021-12-22 11:12:29 +08:00
这就是为啥互联网大裁员。以前资本入驻互联网,为了全面垄断的预期,拼命砸钱耗死对手,所以什么人都养得起。现在政策变了,不允许全面垄断了,互联网即将转变为成熟的行业 —— 计较成本,不追求全面垄断了。所以这种人不一定会养得起了 lol
murmur
2021-12-22 11:14:11 +08:00
@agagega 思考解决方案,那今日头条最适合小程序啊,纯文字的浏览,浏览不知道真假还是谣言的东西,这太典型的小程序场景了
otakustay
2021-12-22 11:23:35 +08:00
@murmur #17 你这个定义的问题是用户视角的问题,可能字节更多还要看市场和商业的问题吧,比如如何实现用户价值的最大转化
otakustay
2021-12-22 11:26:18 +08:00
@3dwelcome #8 解析器是能写出来的,引擎就写不动了
lneoi
2021-12-22 11:38:30 +08:00
这 阿里不是在做北海 不是跟这个一个意思

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/823665

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX