加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱资讯网 (https://www.52junxun.com/)- 云存储网关、数据分析、负载均衡、云连接、设备管理!
当前位置: 首页 > 综合聚焦 > 人物访谈 > 人物 > 正文

前端架构师专访:Vitalik如何重塑前端思维

发布时间:2026-10-16 08:10:53 所属栏目:人物 来源:DaWei
导读:  哎,去年七月份那会儿,群里突然疯转那篇《前端架构师专访:Vitalik如何重塑前端思维》,我原以为又是哪帮人凑热点瞎扯淡——毕竟前端圈现在“颠覆”“重构”喊得比外卖小哥的“您有新的订单”还勤快。结果点开看了两段,

  哎,去年七月份那会儿,群里突然疯转那篇《前端架构师专访:Vitalik如何重塑前端思维》,我原以为又是哪帮人凑热点瞎扯淡——毕竟前端圈现在“颠覆”“重构”喊得比外卖小哥的“您有新的订单”还勤快。结果点开看了两段,直接把编译进度条给忘了,盯着屏幕愣是看了二十分钟,连外卖到了都没发现,还是隔壁工位小王喊我“你外卖要凉了”才反应过来。

  Vitalik那套东西最狠的地方在哪儿?不是他提了什么新框架,也不是搞了套玄乎的“思维模型”——我原以为他要讲什么函数式编程或者微前端的高级玩法,结果他说的是“优胜劣汰”。对,就这四个字,直接把我给整懵了。他说现在前端团队最大的问题不是技术不够新,而是“该淘汰的代码没淘汰,该死的技术没死透”。比如有些项目,明明用Vue 2能跑,非要硬上Vue 3,结果兼容性搞了半个月,埋点数据还丢了;再比如有些组件库,十年前的代码还在用,维护的人换了一茬又一茬,谁都不敢动,生怕动了线上就白屏。

文章配图,仅供参考

  群里当时就炸了,后端老张直接甩了张表情包:“前端现在这么卷吗?连代码都要搞自然选择?”设计小妹补刀:“我们UI稿都改八版了,你们前端还在纠结用不用TypeScript?”我一边笑一边想,这不就是咱们团队的现状吗?上个月刚接了个新需求,产品说“要兼容旧版浏览器”,结果后端说“旧版API早关了”,设计说“旧版UI太丑”,最后前端只能硬着头皮用polyfill,结果体积涨了三十%,加载时间直接翻倍,用户骂得比产品催得还凶。

  Vitalik在专访里举了个例子,说他们团队有个老项目,用的还是jQuery,代码里全是全局变量,变量名起得比随机数还随意。按理说这种项目早该重构了,但老板说“能跑就行”,结果每次新需求都要在旧代码上“打补丁”,最后补丁叠补丁,代码比俄罗斯套娃还复杂。直到有一天,线上突然白屏,查了半天发现是某个全局变量被意外覆盖了——这时候老板才松口,说“你们看着办吧”。结果前端团队花了两个月,把整个项目用React重写了一遍,体积减了一半,性能翻了两倍,埋点数据也准了。Vitalik说,这就是“优胜劣汰”的力量:不是靠领导拍脑袋决定用不用新技术,而是让代码自己证明自己该不该活下去。

  我越想越觉得有道理。咱们团队现在也在搞灰度发布,但灰度的逻辑是啥?不是看代码新不新,而是看它稳不稳。比如有个新功能,用Web Components写的,体积小,性能好,但兼容性差点;另一个功能用jQuery写的,体积大,性能一般,但兼容性好。这时候灰度策略就不是“随机分流量”,而是“先给兼容性要求低的用户推Web Components,给兼容性要求高的用户推jQuery”。等Web Components的兼容性问题解决了,再慢慢扩大比例,最后把jQuery彻底淘汰。这不就是Vitalik说的“优胜劣汰”吗?让好的技术自己证明自己,让差的技术自然消失。

  不过话说回来,这事儿也有风险。比如上个月我们灰度发布了个新组件,结果在某个旧版Chrome上白屏了,用户骂得比产品催得还凶。后来查了半天,发现是某个CSS属性不支持,补了个polyfill才解决。这时候我就在想,Vitalik的“优胜劣汰”是不是太理想化了?现实里哪有那么多完美的技术?总有些老浏览器、老设备要兼容,总有些旧代码不能随便动。我原以为Vitalik会给个“万能方案”,结果他说“没有银弹,只有权衡”——该兼容的时候兼容,该重构的时候重构,关键是要让团队有“淘汰”的勇气,而不是“能用就行”的惰性。

  窗外现在在下雨,旁边工位的风扇声嗡嗡的,编译进度条终于动了,但我已经没心思看它了。群里还在讨论Vitalik的专访,有人说他“太理想化”,有人说他“说到点子上了”。我倒觉得,这事儿没有对错,只有合不合适。就像咱们团队,现在还在用Webpack,虽然Vite更快,但迁移成本太高;还在用Jest,虽然Vitest更快,但测试用例太多,改起来麻烦。但至少我们开始有意识地去“淘汰”了——比如把十年前的jQuery代码慢慢换成React,把全局变量改成模块化,把硬编码的配置改成动态加载。这些改变可能不明显,但至少我们在往“优胜劣汰”的方向走,而不是原地踏步。

  下一步怎么改?我打算先从组件库下手,把那些三年没更新过的组件标记出来,然后做个灰度测试:新功能用新组件,旧功能用旧组件,等新组件稳定了,再慢慢替换旧组件。至于那些实在没法替换的——比如某个只支持IE11的页面——那就先留着,但得给它们加个“遗留系统”的标签,让团队知道这些代码迟早要淘汰。Vitalik说得对,前端不是靠“新”活下去的,而是靠“敢淘汰”活下去的。那些不敢淘汰的团队,最后只会被技术淘汰。

(编辑:我爱资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!