Vitalik Buterin谈前端架构:从以太坊看技术本质
|
去年冬天在柏林那场技术沙龙,Vitalik Buterin聊前端架构时,我原以为他要扯一堆区块链专属的玄学,结果他上来就拍桌子:“你们前端现在搞的微前端,和以太坊早期分片方案犯的是同一个病——为了解决根本不存在的规模问题,硬造出八百个复杂度。”当时我手里的啤酒差点洒了,旁边做了5年网站运维的老周正啃着碱水面包,面包屑掉在键盘上都没察觉。 他说以太坊刚起步时,团队里有人天天念叨“未来节点数会爆炸”,非要提前设计分片架构。结果呢?前三年全网节点数连三位数都没突破,那套分片代码反而成了最大的性能瓶颈。“就像你们前端现在,明明团队就十个人,非要拆成八个微前端模块,每个模块还要独立部署——部署脚本比业务代码还长。”他边说边用激光笔戳投影幕布,红点在“过度设计”四个字上疯狂抖动。我注意到他左手小指还粘着块创可贴,可能是敲代码时被键盘划的。
文章配图,仅供参考 这观点我越想越觉得扎心。上季度末我们团队重构一个管理后台,架构师非要上微前端,说“方便未来扩展”。结果光模块间通信就写了三百多行代码,测试环境跑起来比老系统还慢二十秒。最后产品经理拍板砍了微前端,改回单体架构,上线当天PM在群里发了个“终于不用等加载”的动图,配文是“技术债还清的快乐你想象不到”。但Vitalik最狠的是把矛头指向了“技术本质”这个词。他说现在前端圈动不动就谈“架构本质”,其实本质就是个优胜劣汰的游戏。“你们看以太坊,Layer2方案现在卷得这么凶,不是因为谁更懂‘本质’,是因为用户用脚投票——Gas费低的方案自然活下来,高费率的方案连测试网都上不去。”他说话时窗外正下着雨,雨滴打在玻璃上的声音和会议室里的键盘声混在一起,老周突然掏出手机看了眼天气预报,说“这雨要下到明天”。 我原以为他会接着聊区块链,结果他话锋一转,说起自己最近在学React。“我发现前端框架和智能合约语言有个共同点——都爱造新概念。Hooks出来时一堆人喊‘革命’,现在看不就是把状态管理从类组件里抽出来吗?和Solidity里把库从合约里抽出来有什么区别?”他说这话时,台下有个穿连帽衫的小哥突然举手,说“但Hooks确实解决了回调地狱的问题”。Vitalik笑着点头:“对,所以我说优胜劣汰——能解决问题的方案会活下来,光会造概念的会死。” 散场时老周拉着我去了趟厕所,路上他说:“这哥们儿说得对,我们运维圈也这样。去年双十一前,有个团队非要上Kubernetes,说‘未来规模大了肯定用得上’。结果双十一当天,他们连容器都起不来,最后还是切回虚拟机才扛住流量。”他边说边掏出口香糖,分了我一片,“现在他们老板见到我都躲着走。” 回酒店的路上,我一直在想Vitalik说的“技术本质”。他说以太坊现在不搞分片了,改用Rollup,因为“用户不关心你架构多优雅,只关心转账快不快、便宜不便”。这和前端现在的情况何其相似?我们总在争论“该用Vue还是React”,却很少问“用户真的需要这些功能吗?”。上周我审一个PR,发现前端为了“代码复用”写了二十个高阶组件,结果加载时间多了三秒——用户可不会管你代码多“优雅”,他们只会点退出按钮。 今天上午开站会时,我把Vitalik的演讲内容甩在群里,结果架构师回了个“他不懂前端”。我盯着屏幕笑了半天,想起他上个月非要引入GraphQL时说的话:“这是未来趋势,必须提前布局。”现在看,这和以太坊早期搞分片的人有什么区别?都是用“未来”当借口,给现在的懒惰找理由。 下午我打算把那个高阶组件的PR打回去,附言就写:“先解决加载慢的问题,再谈代码优雅。”不知道架构师会不会炸毛,但管他呢——用户不会因为你的架构“优雅”而留下,只会因为你的页面卡顿而离开。这道理,Vitalik用以太坊的伤疤证明了,我们前端也该醒醒醒了。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


动态跨界整合:前端架构师的资源协同新范式
专访前端架构师:前瞻技术规划与趋势洞见