大前端时代即将来临,后端该何去何从?

缘起

“天下大事,合久必分,分久必合” 一直以来,前端都是“切图师”,仅有“特效师”一脉堪称翘楚。

大家就这样安安分分过了几年,前端一直是js的天地,直到08年的一天,node.js 横空出世,开始不安分起来。

一时间,暗流涌动,后端也开始发力。

与此同时,也有 coffeescript 等相关的项目崛起,用后端语言写前端。

甚至 谷歌也有 GWT 这样的以 java 写前端的方式。

反击

但紧接着,grunt gulp webpack ... 以及三大框架 层出不穷。

express 、 koa 再到最近的nest.js 也让人难以招架。

node.js 在后端虽然没掀起大浪,可也总算有了一席之地,前端复杂的工具链及框架,coffeescript 败下阵来,GWT 后来演变为 Dart。

毫无疑问,这场战争的胜利属于 JavaScript/Typescript。

webassembly 出世

JavaScript 看来没办法绕过去了,Rust kotlin go 一直想通过 webassembly 弯道超车,有了一些前端框架(编译成 wasm), 可由于生态原因,兼容问题,以及各种难以解决的问题(比如SEO)也没能分到一杯羹。

前端更新迭代太过于迅速了,这么活跃的社区,以至于其他语言难以分到一杯羹。

可以说 JavaScript 和 Typescript 的地位已经难以再被撼动了。

flutter 弯道超车

随后有 weex 、ionic、nativescript 、 react native 这样的项目出现,以及 electron, nw.js ,这下前端可真的要成为大前端了。

不曾想,半路又杀出个 flutter ,不仅在 热重载 、性能 等方面有很大优势,而且跨平台,正式版还没发布,社区一度火过 react native ,国内的各种插件包括微信支付,支付宝支付,微信分享等等,非常齐全。 由此可见 flutter 在国内多么受欢迎。

虽然 Dart 有 Angular 版本,但不得不说,一直以来只有可怜的1000star 不到。

flutter 此次要延申到 桌面应用、web 领域,那就跟 Typescript 必有一战了。

这跟后端有什么关系

“帝国主义亡我之心不死”

前面提到过,有如此完善的工具链,后端语言很难再把手伸向前端了。

但可以预知的结果是,不管 Typescript 和 Dart 谁输谁赢,都会把手进一步伸向后端,去蚕食后端的份额。

前端有什么杀手锏

这是最近非常好用的一个工具: https://www.apollographql.com/

可能你觉得它还不够,那么接下来这个东西将让你倒吸一口凉气: https://www.prisma.io/

替代 restful 、 RPC 、 ORM 一气呵成。 不需要后端了,设置好数据权限即可。

可能你觉得它还太过于“玩具” ,但未来发展,等到前端再次将手伸向后端,再结合前端工具链优势,一切未可知。

会不会出现 prisma 和 后端的杂交品种? 会不会 出现一个新的打包工具?

将来的差距可能只在生态上。

一点思考

照这个情况来看,讨论后端语言谁优谁劣的意义实际上已经不在了。

万一哪一天, npm run build 或者 flutter packages get 一个命令帮你把 k8s 下载构建好,利 用webpack 自动构建好 istio 和 jenkins 配置, 那时候,你又会怎么想呢?

作者: 左华栋

原文:https://my.oschina.net/zhdong/blog/2991329

大前端时代即将来临,后端该何去何从?

相关推荐