唱唱反调 唱唱反调:风口上的技术不要盲目追


作者蔡芳芳
对于前端开发者来说,“学不会”是一种嘲讽,但也真实反映了他们面对频繁出现的新前端技术的爱恨情仇。移动互联网爆发后,前端领域的前沿不断拓展,新技术、新概念、新框架层出不穷。这在一定程度上迎合了开发者喜欢跟踪流行框架和技术最新发展的天性,但也带来了新的问题。流行的画框这么多,我该选哪个?引进新技术不是没有成本的。盲目追求新技术合理吗?最热门、最受欢迎的技术一定适合你的团队吗?
在大前端领域,我们看到了太多的技术出口。我们希望从不同的角度来谈谈如何做好前端技术选型。为此,InfoQ近日专访了文悦集团技术专家、百度T8原R&D高级工程师彭星,谈谈他对大前端当前发展趋势和架构演进的理解,并总结了自己在技术方向选择和方案选择方面的经验,希望能给大家提供一些参考。此外,彭星还是GMTC全球前端技术大会2020前端架构演进专题的制作人。本课题将通过解读具体的行业实践案例,明确前端架构演进的路径和未来方向,感兴趣的同学可以关注。
大型前端架构十年演进
彭星2010年进入淘宝和百度做实习生,到现在才十年。回顾过去十年,前端领域发生了小小的变化。
2010年,AJAX已经使用了很多年,非常成熟。虽然出现了像主干一样的MVC框架,但是真正用MVC框架开发用户产品的人并不多,大部分都是内部管理系统。这一时期主流的前端是开发后端模板,使用AJAX通过服务器端渲染在本地更新页面内容。Chrome团队开发的v8引擎大大提升了JS的性能。当时没有大前端这种东西。
同年,基于v8引擎的Node.js诞生,让前端开发者可以用js编写服务器端代码,接管了渲染层,打开了大前端的大门。然而,Node.js在服务器上的使用在2012-2013年左右才真正被开发人员接受,前端分离开始流行。此时,前端包括前端和渲染层。
然后是移动时代,改变了世界。流量逐渐从PC转移到移动平台。与Native相比,Web具有跨平台、开发成本低、周期短、发布周期短等优势,在移动开发中赢得了大量市场。这一时期出现了Hybrid混合开发App,结合了Web和Native,没有人可以替代任何人。
不过,Hybrid毕竟也是WebView。与Native App相比,其性能仍然不足,在手机这样的小屏幕上,用户体验尤为重要。想要Native体验不容易,也想要Web跨平台、动态发布的优势,但是方法总是比较难。React Native的出现结合了两者的优点。这时,大前端的边界又扩大了,覆盖了前端、渲染层和端开发。
然后是近两年小程序和Flutter的流行,进一步巩固了大前端的概念和范畴。
在此期间,新兴的新技术给前端开发人员和前端团队负责人带来了困扰:这么多新框架、新技术、新编程语言如何选择?
盲目跟风是不可取的
最简单的方法之一就是选择互联网巨头选择什么。这其实是技术选择上的偷懒,但也是目前行业的普遍情况:很多公司在尖端技术方向上盲目跟风互联网巨头,不考虑这些技术方案是否真的适合自己。
比如企业官网应该用MVVM框架做吗?彭星的回答是否定的。在他看来,企业官网需要SEO,互动很少。传统的服务器端渲染是最好的解决方案。虽然使用Node.js作为React/Vue的SSR可以解决SEO问题,但它实际上使简单的问题变得复杂,这不仅需要花费人力和金钱。
【唱唱反调 唱唱反调:风口上的技术不要盲目追】彭星认为,大厂商在技术探索上投入大量人力物力是有原因的。他们的业务模块众多且复杂,需要保留解决方案的灵活性和可维护性,但这些不应该是中小企业的优先事项。

推荐阅读