前言:
本文由Richard Feldman在2019年的ReactiveConf大会上的演讲浓缩而来,仅供激辩。该牛为《elm in action》的作者,elm-lang也是一个web开发语言。
视频源: www.youtube.com/watch?v=24t…
正文开始
首先抛出一个问题,你在工作的时候,如何选择你的技术栈?
2006年,你的技术栈很大可能会是LAMP,初学者可能会是XAMPP。
L-Linux
A-Apache
M-Mysql
P-PHP, Perl, Python
那么别人用什么,我们就用什么吧,选择已有成熟的技术,比较有安全感,毕竟别人都在用,对吧。
但是看到下面这幅趋势图,你会明白,选择什么技术真的也是一场赌博。
PHP, Perl的热度都在持续不断的下滑,Python最近两年随着机器学习开始火爆,当然从国内角度看可能会有略微的差异,这点可以自己去google趋势确认。
任何技术栈的选择,都存在的一定的风险,但是,盲目的随大流比自己做预测要危险。大家还是要多关注趋势。买涨不买跌。
未来五年(2020-2025),作者在一下4个方面作出了预言:
- TypeScript
- Web Assembly
- Packages
- Compile-To-JS
TypeScript
从事前端开发有点年头的人,应该还记得CoffeeScript,因为各种历史原因,总有人觉得JavaScript不完美,很多缺陷,出现各种各样方言,CoffeeScript就是其中之一,一时之间也曾火遍大江南北,但是从图中可以看出,时移势易,TypeScript已经当仁不让成为这一领域的领先者。
中间一大段讨论TypeScript的略过不表。
直接抛出预言1:
2020年底:对于新的商业项目,TS会成为最多的选择。
2025年底:每天写TS代码的人会超过写JS代码的人。
Web Assembly
上一篇文章已经说过,Web Assembly不是用来取代JavaScript,Web Assembly是用来扩大web开发的盘子的。
作者举了Figma的例子,Figma是一个多人协作设计工具,没有使用HTML/CSS/JS技术栈,而是直接使用了C++来实现web应用,浏览器开始有能力与app商店抢地盘了,更有可能影响的领域还有游戏。
预言2:
2020年底:WASM不会对web世界造成太大的震动
2025年底:WASM为我们创造一个重量级web应用的新世界
Packages
bower也是曾经红极一时的包管理工具,npm,yarn等等是现在使用最普遍的。但是npm最近发生过两件大事:left-pad事件,一个开发者下架了他发在npm上的包。event-stream: 通过社工形式获取包管理权的维护者发布恶意代码的事。有兴趣的可以去了解一下。
作者提出一个观点npm会不会也成为下一个bower呢?短期内估计不会。不过他推荐我们设置。
npm config set ignore-scripts true
原因如下: 预言3:
2020年底:至少一个npm的安全事件会上头条
2025年底:至少再出现一次恶意npm包事件
Compile-To-JS
不详述了,coffeescript,dart, ts, babel, svelte统统是JavaScript的方言,而elm-lang渲染速度比JS快多了,从不crash,各种吹elm,好吧,有兴趣的人也可以去了解下这种web开发语言。
预言四:
2020年底:Compile-To-JS的语言会继续发展,但是运行最快的还是TypeScript
2025年底:虽然TypeScript是最流行的语言,但是非JS的web语言成长起来(此处应指elm)。