前端技术已经卷到自己写 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
8150 次点击
所在节点    前端开发
56 条回复
gaozihang
2021-12-22 11:50:15 +08:00
实现看上去类似于 `flutter_html`, 另外 dart 有 css 解析库 `csslib`, 不知道是基于这个库写的还是完全从零开发。
kisshere
2021-12-22 12:16:27 +08:00
这不叫重复造轮子了,这叫重新种植橡胶树、冶炼橡胶了
momocraft
2021-12-22 12:17:41 +08:00
浏览器 css 太多文字排版的遗产了
用作 ui layout 其实不怎方便
xff1874
2021-12-22 12:25:29 +08:00
内卷太严重了
feiandxs
2021-12-22 13:16:00 +08:00
@momocraft flex 我觉得是一套优秀的体系,可以理解为某种底层 layout 的上层封装,是挺好用。
其他的我觉得靠 top left margin 耶差不多了。。。
xylxAdai
2021-12-22 13:22:58 +08:00
这就是我之前在字节做过的东西。。其实没那么玄乎,但是工作量真的很大。
Biwood
2021-12-22 13:30:51 +08:00
重复造轮子,跟微信小程序一样,明明有现成的技术标准,硬要自己圈出一套更封闭的系统,把原有的东西重新实现一遍,这就是“卷”的思维模式。
做产品的都喜欢学习 Apple 的风格,但是也没见到 Apple 强行重新发明一套 HTML 和 CSS 吧。
Bijiabo
2021-12-22 13:48:52 +08:00
我认为用 Flutter 开发应用这个行为本身就是一个因为卷、不愿意好好做事,至于在上面继续做什么,完全不奇怪,哪怕是因为这个去造个屏幕显示 Flutter 的画面都是可以理解的——早就脱离了业务本身。
sikong31
2021-12-22 13:51:00 +08:00
使用过 Flutter 的应该觉得这是一个正常的想法,况且难度上不是很高,对布局的补充,其实挺好的
lnim
2021-12-22 13:52:52 +08:00
之前组里搞热更新, 移动端上打包一个手写的 jvm 用来跑动态代码下发~ 而且这玩意还是纯 C, 跨平台~ 麻了 !!! 卷出天际
steptodream
2021-12-22 14:31:43 +08:00
服务器运维的,老板拉一车沙子,让我造 cpu
crs0910
2021-12-22 16:19:31 +08:00
@3dwelcome 『大佬最后说,不能再做下去了,要不然就真的变成开发浏览器了。』这句视频里没看到呀。人家的意思是成本和性能要控制,变成你这个表达容易招黑啊。
ClassicOldSong
2021-12-22 16:33:48 +08:00
在 Flutter 里用 JS 渲染 Flutter 应用
套娃🤣
uqf0663
2021-12-22 16:38:12 +08:00
小白弱弱的问一下,微信小程序是不是也类似这样自己写 CSS 解析器?
murmur
2021-12-22 16:40:51 +08:00
@uqf0663 微信小程序就是 webview ,但是应该加了一套东西让原本的 html+js+css 成了太监
az467
2021-12-22 16:43:54 +08:00
写浏览器怎么够。
WebOS ,我看行。
maplelin
2021-12-22 17:53:39 +08:00
我有个问题,国内这么卷,为啥技术力还是没法赶超欧美。
ldspg123
2021-12-22 18:03:40 +08:00
@maplelin 因为无效
xinyu0
2021-12-22 18:03:52 +08:00
,,,开发浏览器,兄弟你详细了解下完整开发浏览器的难度吧,,,
pengtdyd
2021-12-22 18:39:05 +08:00
只要能承载整个公司的业务,公司就离不开我,让自己不可替代,除非公司倒闭了,这就是卷的逻辑,

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

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

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

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

© 2021 V2EX