大家好,我是Kason。在WWC22上,NPM联合创始人(目前是??Netlify的数据分析师)LaurieVoss发表了演讲,预测了Web发展的未来方向。在这篇文章中,让我们来看看这位拥有26年Web开发经验的数据分析师会带来怎样的见解。欢迎加入人类优质前端框架群。飞天之下无新鲜事。未来5年Web开发将如何发展?在发表自己的预测之前,劳瑞先说:在座的各位大概都讨厌我的预测。因为他自己也不等着看这个预言的结果。那么他的预测依据是什么呢?简单地说:太阳底下并无新鲜事作为一名拥有26年Web开发经验的数据分析师,Laurie总结了技术发展的模式。简单来说,一个技术的生命周期会经历一个循环:提出一个解决思路起初,人们在项目开发过程中遇到了一个问题,有人开始尝试解决这个问题。一旦有人提出了一个让人觉得这个想法很棒的解决方案,当遇到类似的问题时,每个人都会尝试用自己的理解来实现这个解决方案。例如,当Dan提出Redux模型时,社区还没有更好的状态管理方案,于是这个方案被广泛接受,出现了很多基于Redux模型的状态管理方案。这是一个不断重新发明轮子的过程(也是很多KPI项目的来源)。确定最佳实践随着解决方案集的实施,最佳实践会随着时间的推移而出现。当创建最佳实践时,开发人员通常会感到无聊,因为在这个方向上没有什么可以探索(构建轮子)。这时候无聊的程序员就会想:我可以做一个大而全的框架/系统/产品来一劳永逸地解决这种问题。也就是说,将最佳实践商品化。最佳实践的商品化商品化的过程通常很激烈,有很多团队/公司/个人参与,提出自己的产品并攻击竞争对手在某些领域的缺点。比如各种前端框架,可以认为是前端工程师等消费者消费的商品。消费者有自己的喜好,有些人可能喜欢Vue,有些人可能喜欢React。但作为一种商品,最终还是有一个事实上的赢家。这是一个不变的经济规律——为了达到某个目的,可能有很多产品可供选择,但一旦某个产品被更多人选择:作为老板,更容易招到会用这个产品的程序员,作为程序员,可以更好的利用这个产品的社区生态,进而让产品被更多人选择,最终产生马太效应(越强越强)。例如,有很多与Wordpress同时出现的博客构建产品。但到了2022年,全球43%的网站都由WordPress提供支持。第二名和他的差距恐怕不是一个数量级的。抱怨没有基础。当一个产品成为主流时,你会听到一个声音:不要只使用产品/系统/框架,你要了解它背后的原理。Laurie最初开发时,主流的标记语言是SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)。HTML只是SGML的一个小子集,它的特点是规范比较松散,但更容易学习。如果你当时用的是HTML,高级工程师会告诫你:不要只用HTML,你必须了解它背后的SGML,否则你很长时间都做不出来。大规模应用当某种产品成为绝对主流并被大规模应用,以至于成为事实上的基础设施时,下一代的技术人员很可能接触不到上一代的所谓原理知识.比如现在HTML已经成为前端基础设施,谁还记得SGML?再比如,现在很多老前端都用过jQuery。在前端框架兴起之前,大家使用jQuery来操作DOM。面试期间还将检查jQuery源代码。毕竟,每个人都同意——原生JS是基础。jQuery中的选择器好用到主流浏览器都内置了,这就是querySelector的选择器语法。最终querySelector成为选择DOM时的事实标准。谁在乎它背后的原理?回到原点基于新基建的发展最终会遇到新的问题。于是,一切又回到了原点。比如初期开发人员使用JSP、PHP开发前端页面。然后是企业社会责任。后来为了解决CSR的各种问题,就有了SSR。但是从实现原理上来说,JSP和PHP不就是SSR吗?Laurie的预言最后,基于上述轮回模型,Laurie提出了对Web发展的预测。在21年的一项调查中,68%的开发者使用React开发页面。Laurie说:在他的职业生涯中,React是唯一能达到jQuery规模的。也许将来React会作为基础设施直接在浏览器中实现(就像jQuery的选择器一样)。但与其直接集成React本身,不如将目前不太好用的WebComponents重新设计成类似ReactComponents的形式。目前,有很多基于React实现的新框架,如Astro、Remix、Next.js和Solid.js。这些框架的开发者假设他们的用户已经知道如何使用React并且喜欢使用React(否则他们不会使用他的框架),这从侧面反映了React已经被用作前端基础设施。如果接受这个设置(React将被用作前端基础设施),那么我们就回到了轮回模型的起点。现在的开发者用React反复实现,觉得无聊是什么情况?一种答案是:编写组件。因此,Laurie认为在未来5年内,基于React组件的可视化编辑器将成为主流。像ReactBricks这样的产品:当时,一些开发人员负责实现具有各种功能的React组件。此类组件称为Bricks(砖块)。另一方面,大多数开发人员使用可视化编辑器来拖放基于积木的不同页面。这样的开发者连HTML都不碰,在他们的基础设施中,最小的单位就是一块砖(React组件)。其实早期的浏览器(Tim爵士开发的WWW)就是通过拖拽、打字等方式实现的富文本编辑器,呵呵,天底下并无新鲜事。总结如果您厌倦了看到这个预测-就这样了吗?正如本文开头提到的,劳里本人讨厌这种预测。但历史一次又一次证明,曾经被人厌恶的设计,最终很可能成为主流(比如2013年前端人对JSX的态度)。26年前的开发人员会认为只知道HTML而不会SGML是不可靠的。10年前的开发者会认为只懂jQuery而不懂原生JS不靠谱。现在的开发者会认为自己只懂前端框架,不懂实现原理是靠不住的。难不成5年后的开发者会认为只能拖拽生成页面,不会开发组件不靠谱?
