大家好,我卡颂。
在 WWC22 上,NPM
联结创始人(以后是 Netlify
的数据分析师)Laurie Voss发表了对 web 开发 将来倒退方向的预测演讲。
本文让咱们来看看这位有 26 年 web
开发教训的数据分析师,会带来哪些洞察。
欢送退出人类高质量前端框架群,带飞
太阳底下无新鲜事
将来 5 年 web 开发 会如何倒退,在说出本人的预测前,Laurie先示意:
在座各位,很可能厌恶我的预测。
因为他本人就不待见这个预测后果。
那么他预测的根据是什么呢?简略来说就是:
太阳底下无新鲜事
作为一个有 26 年 web
开发教训的数据分析师,Laurie总结了技术倒退的模型。
简略来说,一项技术的生命周期会经验一个轮回:
提出解决思路
最后,人们在我的项目开发时遇到一个问题,有局部人开始尝试解决这个问题。
一旦某个人提出一个让人感觉 这个思路很棒 的解决方案,当遇到相似问题时大家就会尝试用本人的了解将这个解决方案落地。
比方,当 Dan
提出 Redux
模型时,社区还没有更好的状态治理解决方案,于是这个计划被宽泛承受,涌现出很多 基于 Redux 模型的状态治理计划。
这是个一直反复造轮子的过程(也是很多 KPI 我的项目的源头)。
找出最佳实际
随着这套解决方案一直实际,会逐步产生 最佳实际。
当 最佳实际 产生后,开发者通常会感觉无聊,因为在这个方向没有什么可摸索(可造轮子)的了。
这时候,某个无聊的程序员会想:我能够制作一个 大而全 的框架 / 零碎 / 产品,一劳永逸的解决这类问题。
也就是说,将最佳实际 商品化。
最佳实际的商品化
商品化 过程通常是很强烈的,会有很多团队 / 公司 / 集体参加其中,提出本人的产品,并鞭挞竞争对手在某些方面的有余。
比方,各种前端框架,能够认为是前端工程师这类消费者生产的商品。
消费者有本人的偏好,可能有人喜爱Vue
,有人喜爱React
。但作为商品,最终会产生一个事实上的赢家。
这是一个不变的经济法则 —— 要达到某个目标,可能有很多产品可供选择,但一旦其中某款产品被更多人抉择:
- 作为老板,能够更容易招到 会用这款产品的程序员
- 作为程序员,能够更好利用这个产品的社区生态
这又会反过来使得该产品被更多人抉择,最终马太效应(强人愈强)产生。
比方,与 WordPress
同期间呈现的,还有很多博客建站产品。
但到 2022 年的明天,全世界 43% 的网站是 WordPress
驱动的。第二名与他的差距恐怕都不是一个数量级的。
埋怨根底欠缺
当某一产品成为支流后,就会听见一种声音:不要光会用产品 / 零碎 / 框架,你还得了解背地的原理。
当 Laurie 刚当开发时,支流的标记语言是 SGML(Standard Generalized Markup Language,规范通用置标语言)
HTML
仅仅是 SGML
的一个渺小子集,特点是标准比拟涣散,但比拟易学。
如果你在过后应用HTML
,资深工程师会告诫你:不要光会用HTML
,还得了解背地的SGML
,要不然是做不短暂的。
大规模利用
当某个产品成为相对支流,被大规模利用,以至于成为事实上的 基础设施 后,下一代技术人很可能不会再接触上一代人所谓的 原理常识。
比方当初,HTML
曾经成为前端基础设施了,谁还记得 SGML
呢?
另一个例子,当初的老前端,很多都用过jQuery
。
在前端框架衰亡之前,大家都用 jQuery
操作 DOM
。面试时也会考查jQuery
源码。
毕竟,大家都认可 —— 原生 JS
才是根底。
jQuery
中的选择器太好用,以至于支流浏览器都将他内置了,这就是 querySelector
的选择器语法。
最终,querySelector
成为抉择 DOM
时事实上的规范。谁会在意背地的原理呢?
回到原点
最初,在基于新的 基础设施 的开发中又会遇到新的问题。于是,所有又回到了终点。
比方,最后开发者应用 JSP
、PHP
开发前端页面。
起初有了CSR
。
再起初为了解决 CSR
的各种问题,有了SSR
。
但从实现原理来说,JSP
、PHP
不就是 SSR
么。
Laurie 的预言
最初,基于上述轮回模型,Laurie提出了对 web 开发 的预言。
在 21 年的一次考察中显示,有 68% 的开发者应用 React
开发页面。
Laurie示意:在他的职业生涯中,能达到 jQuery
那么大的应用规模,React
是惟一一个。
没准儿将来 React
会被作为基础设施在浏览器中间接实现(就像 jQuery
的选择器一样)。
但不是以 间接集成 React 自身 的形式,可能是将以后还不太好用的 Web Components
从新设计为相似 React Component
的模式。
在以后,有很多新的框架基于 React
实现,比方Astro
、Remix
、Next.js
、Solid.js
。
这些框架的开发者假如本人的用户曾经会用 React
、喜爱用React
(否则也不会用他这款框架),这从侧面反映了React
曾经被作为前端基础设施。
如果承受了这个设定(React
会作为前端基础设施),那么咱们就回到了轮回模型的终点。
有什么事件是以后开发者用 React
反反复复实现,又感觉很无聊的事呢?
一个答案是:写组件。
所以,Laurie认为:将来 5 年,基于 React 组件 的可视化编辑器会成为支流。
相似 React Bricks 这款产品:
届时,一部分开发者负责实现各种性能的React 组件
,这类组件被称为Bricks
(砖块)。
而大部分开发者则基于砖块,用可视化编辑器拖拽实现不同页面。
这类开发者甚至不会接触到HTML
,在他们的基础设施中,最小的单位是砖块(React 组件)。
事实上,晚期的浏览器(由 Sir Tim 开发的WWW
)就是用拖拽、输出等形式实现的富文本编辑器。
呵,太阳底下无新鲜事。
总结
如果你看到这个预测后感觉挺厌恶的 —— 就这?
就像文章开篇就提到的,Laurie本人也厌恶这个预测。
但历史一次次证实,已经被厌恶的设计,最终很可能变成支流(比方 2013 年时,前端们看待 JSX
的态度)。
26 年前的开发者会认为只会 HTML
,不会SGML
是不靠谱的。
10 年前的开发者会认为只会 jQuery
,不会原生JS
是不靠谱的。
当初的开发者会认为只会前端框架,不懂实现原理是不靠谱的。
那有没有一点可能,5 年后的开发者会认为只会拖拽生成页面,不懂开发组件是不靠谱的?