大胆预测下未来5年的Web开发

2023-05-26 0 233

在2019年的ReactiveConf 上,《Elm in Action》的译者Richard Feldman对今后5年Web合作开发的产业发展做了预估,很有趣,撷取给我们。

假如你有良机一气呵成做两个工程项目,你会是不是优先选择控制技术栈?

这是演说已经开始之前Richard提的难题, 坚信许多人单厢优先选择成形平衡的、非主流的控制技术栈。

假如天数返回2006年,那个非主流的控制技术栈是LAMP

大胆预测下未来5年的Web开发

大胆预测下未来5年的Web开发

L : Linux

A: Apache

M: MySQL

P : Perl 或是 Python 或是PHP

Richard在2006年创业者的这时候,就优先选择了LAMP, 优先选择了Perl 。但优先选择平衡的小东西并无法确保安全可靠,Perl迅速就走了上坡路,慢慢地连Perl 开发人员都不太好招工到了。

大胆预测下未来5年的Web开发

所以Richard 说:“不管我们优先选择的控制技术多么流行,多么非主流,在今天多么吸引人,我们依然是在下注赌博。所以预估当前控制技术会向什么方向产业发展并且跟随,要比一已经开始就盲目接受别人所用的控制技术要更安全可靠一些。”

有了这么两个大前提, 他的预估已经开始了:

1. TypeScript将会接管JS世界

到2020年底,TypeScript将会成为新的商业工程项目最常见的优先选择。

到2025年底,每天使用TypeScript编程的开发人员将超过使用普通JavaScript的开发人员。

TypeScript许多人都知道,它是JavaScript的两个超集,对JS增加了静态类型的检查, 那个关键的特性受到了许多开发人员的欢迎,许多错误可以在编译时就被发现,而不是遗留到运行时,并且有了静态类型以后,阅读、修改、重构现有代码也变得更加轻松。

从Google 趋势来看,TypeScript正处于蓬勃产业发展的阶段,而CoffeScript则走向上坡路。

大胆预测下未来5年的Web开发

大胆预测下未来5年的Web开发

不仅如此,许多框架都已经支持TypeScript:

大胆预测下未来5年的Web开发

大胆预测下未来5年的Web开发

尽管如此,还有许多人不喜欢TypeScript,觉得TypeScript代码变得像Java一样冗长,设计也不健全,在某些情况下给人以错误的安全可靠感

Richard说预估今后的最重要因素是看看这门控制技术如何影响团队, 许多团队单厢说:“我们会尝试TypeScript, 我们已经使用TypeScript”, 从来没有团队说:“我们尝试了TypeScript,后来又返回了JavaScript。”

值得一提的是,现在微软养着两位大神,都在TypeScript和JavaScript领域耕耘,两个是TypeScript的设计师Anders Hejlsberg, 他同时是Turbo Pascal , Delphi, C#等知名语言的设计者。另外一位是Erich Gamma ,他专注于编辑器和IDE,设计模式,Eclipse,VS Code是他的得意之作。

2. WebAssembly 会扩大WebApp的领域

到2020年末,WASM对Web的组成不会有太大影响。

到2025年末, WASM将会创建两个新的领域:“重量级的Web App”。

WebAssembly 是什么小东西?可以简单理解为在浏览器中执行的“汇编语言”, 可以提供接近本地代码的速度,肯定要比JavaScript快得多。

开发人员肯定不会直接写“汇编语言”,程序员可以用C/C++/Rust来写程序,编译成WebAssembly后在浏览器中执行,当然,WebAssembly代码也可以被JavaScript调用。

可能会有人说,现在有了V8 之类的执行引擎,我们觉得JavaScript的性能已经不错了啊,为什么还要搞个Web汇编?

Richard举了两个例子:Figma,这是两个重量级的图像编辑软件,像Photoshop, Sketch 那样,但它与众不同的是在浏览器中运行的。

大胆预测下未来5年的Web开发

那个软件是用C++合作开发的,最早的这时候编译成了JS的两个子集ASM.js在浏览器中执行,采用了WebAssembly以后,速度提升了3倍之多。

另外两个更好的例子是游戏。比如下面那个场景,假如想使用CSS,估计是不行的, 但WebAssembly可以搞定。

大胆预测下未来5年的Web开发

这就意味着WebAssembly打开了一扇门, 那些重量级的本地应用,可以通过Web的方式来安装,分发了。Web浏览器将会和传统的App Store, 安装程序做竞争了!

大胆预测下未来5年的Web开发

大胆预测下未来5年的Web开发

以后你想用某个应用,只需要浏览器中输入网址,立刻已经开始使用,不用安装。和别人撷取也非常的方便,发个link就行了。 (是不是和小程序的理念有点像?但本质是不同的。)

HTML/CSS/JS就此死去?当然不会,WebAssembly扩大的Web合作开发的基本盘, WebApp 的盘子会更大。

3. npm将在更多的难题中艰难生存

到2020年末, 至少两个npm的安全可靠事件会登上新闻头条。

到2025年末, 至少两个恶意的npm package 感染大量合作开发者的机器。

这几年,合作开发人员已经目睹了好几次npm的灾难。

2016年, 一名 npm(Node.js Package Manager)的贡献者 Azer Koçulu 出于对 npm管理层的怨愤,删除了自己在 NPM 的250个模块,其中两个叫做left-pad,非常简单,是用特定字符填到两个字符串的左边,达到指定的长度,但那个模块被引用得非常广泛, 导致了一次NPM生态系统的大地震,Node.js, Babel , 还有其他数千个工程项目直接罢工。

2018年npm又爆发了著名的event-stream事件,

此外npm的packagte安装脚本中的也存在安全可靠隐患,Richard建议在本机执行:npm config set ignore-scripts true 。

大胆预测下未来5年的Web开发

大胆预测下未来5年的Web开发

4. JS的替代品会稳健成长

到2020年末,编译成JavaScript的那些语言会继续增长,但都没有TypeScript增长快速。

到2025年末, 那些非JS的方言还会稳健成长,虽然TypeScript会很流行。

JavaScript有两类替代品,一类是JavaScript方言,如TypeScript, Dart, Coffeescript等,还有一类是非JavaScript方言,例如ClojureScript, ReasonML, 和Elm, 虽然都是编译到JavaScript来执行,但它们提供的体验和JavaScript不同。

Richard本人是Elm的合作开发人员,自然给Elm做了广告,渲染速度快,体量小,不崩溃,有自己的生态体系,并且因为有非常详细的错误信息而广受赞誉。

所以Richard认为,虽然以后TypeScript会更受欢迎,但优先选择了这些小众的替代替代品的“粉丝”将会继续使用它们。

大胆预测下未来5年的Web开发

开发人员,你得选准跑路得天数

被拆分的身份证

两年,我学会了所有的编程语言!

一直CRUD,一直996,我烦透了,我要转型

字节码万岁!

上帝托梦给我说:一切皆文件

Javascript: 两个屌丝的逆袭

Node.js :我只需要两个店小二

我是两个线程

TCP/IP之大明邮差

两个故事讲完Https

CPU 阿甘

大胆预测下未来5年的Web开发

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务