附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读书籍书单大全:
--------------------------------------------------------------------------------------------------------------------
“天下大事,合久必分,分久必合” 一直以来,前端都是“切图师”,仅有“特效师”一脉堪称翘楚。
大家就这样安安分分过了几年,前端一直是js的天地,直到08年的一天,node.js 横空出世,开始不安分起来。
一时间,暗流涌动,后端也开始发力。
与此同时,也有 coffeescript 等相关的项目崛起,用后端语言写前端。
甚至 谷歌也有 GWT 这样的以 java 写前端的方式。
但紧接着,grunt gulp webpack ... 以及三大框架 层出不穷。
express 、 koa 再到最近的nest.js 也让人难以招架。
node.js 在后端虽然没掀起大浪,可也总算有了一席之地,前端复杂的工具链及框架,coffeescript 败下阵来,GWT 后来演变为 Dart。
毫无疑问,这场战争的胜利属于 JavaScript/Typescript。
JavaScript 看来没办法绕过去了,Rust kotlin go 一直想通过 webassembly 弯道超车,有了一些前端框架(编译成 wasm), 可由于生态原因,兼容问题,以及各种难以解决的问题(比如SEO)也没能分到一杯羹。
前端更新迭代太过于迅速了,这么活跃的社区,以至于其他语言难以分到一杯羹。
可以说 JavaScript 和 Typescript 的地位已经难以再被撼动了。
随后有 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 配置, 那时候,你又会怎么想呢?