前言
临近 2019 的尾声, 总是希望来盘点一下这一年中前端的发展. 到目前为止, 前端的井喷期也快临近尾声了. 并不像几年前一样, 总是会有层出不穷的新东西迸发出来. 同时, 前端技术也慢慢的趋于稳固, 自成一套体系. 如果你喜欢我的文章, 欢迎评论, 欢迎 Star~.
正文
我们何处说起? 自然是离不开那三驾马车.
三驾马车
自从 2015 年, react 的问世, 开始了三驾马车时代的先河. 同时, jQuery 也逐渐让出了其霸主的地位. 后续的, angular 开始了大型的改版, 似乎想要追逐 react 的步伐. 两种完全不同思路的体现, 在前端开发的技术栈中发光发亮. 同时, vue 就像一匹黑马一样, 一路披荆斩棘, 快速地进步着.
因此, 从 2017 年开始, 3 架马车可以说是并驾齐驱. 似乎需要看些对比数据, 来表示它们目前的现状.(来自国外的数据)
可以看到 react 的深紫色是最多的, 表示用户对于 react 还是十分满意的. 虽然, 早前的 React 收到了协议的影响, 但是, 这似乎并不影响它在开发者心目当中的地位. 另外, react 如此受欢迎的另一个重要原因就应该是 React Native 了吧. 今年以来, React Native 一直以两周一次的小版本更迭周期, 迅速发展着. 或许, 2018 年将会迎来最重大的正式版本 1.0.(这个还是值得期待的.)
对于大多数开发者而言, 学习了 React 的时候, 对于它们学习 React Native 是有直接性质的帮助的, 所以一般的国外开发者不会拒绝学习 React 这个框架的.
介绍完, React 的情况, 我们或许可以回望一下 Angular 的情况吧.
Angular 可以说是一个最早问世的 MVVM 的框架. 2009 年, angular 像一枚重磅炸弹一样, 震撼了前端的开发者们. 当时, W3C 似乎还未推出正式的 web Component 标准. React 和 Vue 也还在襁褓之中安眠. 可想而知, 之后的几年 Angular 一直影响着后续前端的发展. 但是, Angular 有着许许多多的问题, 也使得它在后续的框架之争中, 处于下风. 2016 年 9 月正式推出的 angular2, 将 angular 引领向了另一种形式 -- 以 html 为中心的框架. 一套完整的体现, 其中加入了 TypeScript+RxJS 等组合, 可想而知, 一套内容的学习成本相当之高, 与 React 以 JS 为中心的思想完全不同. 不过似乎这一次 Google 将框架的定位目标换成了企业, 国内外在使用这套框架的往往是银行, 证券类企业. 不过, 它的发展还是被看好的, 毕竟它的背后可都是一群 Google 的顶尖开发工程师呢!!
最后, 我们来了解一下三驾马车中的黑马 --Vue.
从第一张图中, 虽然 React 一直处于领导地位, 但是, Vue2 的使用, 也将于其他两个框架持平快了. 毕竟, 在国内的前端环境中, Vue 可以说是非常受欢迎的.(据说印度开发前端, 会用 Angular, 中国人开发前端, 会用 Vue)不得不说的是, Vue 与 Weex 的结合, 虽然体验不及 RN, 但是有着阿里的技术支持, 也将有希望突破吧.
PWA
如果在国外, 你今年听到的热词一定会有 PWA 这个东西. 前不久, Safari 已经开始支持 PWA 了, 那么也就意味着 PWA 的时代不会太远了. 当然, 国内实践 PWA 的公司也不占少数, 例如饿了么, 阿里等. 从去年开始, 对其有所耳闻, 到今年 Google 开发者大会上的现场演示, 相信更多的开发者对于这门技术的狂热. 对于国内开发者而言, 唯一不好的优势应该就是文档了. 因为目前来说, 大部分的文档都是以英文的形式存在于 GitHub 或者国外书籍中的. 翻译过来的书, 也不会这么快的速度问世, 所以目前研究 PWA 的中文资料少之又少.
不过相信, 它的发展在之后的一两年的是强而有力的.
国内的小程序
今年, 在国内会被称为 "小程序年". 从 1 月份开始, 微信正式将公测了小程序. 继而在 7 月份开始, 支付宝也推出了相应的小程序. 在国内, 这样子的重大消息是不容忽视的. 两大巨头之争, 推动的是无与伦比的流量红利. 基于小程序的开发, 也将成为国内的前端的一大重点. 将原用的整体化的内容, 逐步分割成一个个小的模块, 将至放入到微信这个大环境中去分享, 最后起到一个引流的效果. 回到技术的成面, 小程序或许会有着与 PWA 一样的思想, 将之前在移动端难以为继的 Web 端, 放入到自家应用中, 来确保它的长久与稳定. 更多的是说, 这两者起到了异曲同工的效果. 同样的, 这项技术, 将在 2018 年持续发展下去, 同时, 也会有更多的前端投入到这项开发中去.
styled-components
这项技术, 也是从上半年开始有所耳闻的. 主要是作为 react 库的衍生物的形式出现的. 它将 CSS 部分的代码以 JS 的形式展现在代码中, 那么之后只需要开发 JS 就可以完成整个应用的开发了. 同时, 它还有一个好处, 它的样式是基于组件的, 所以可以做到复用, 同时, 往往 JS 的变量在 CSS 中去使用时, 是一个令人头疼的问题. 而 styled-components 很好的解决了这个问题, 因为它本身就是在组件中开发样式, JS 的变量依然可以被使用在 CSS 的部分代码中. 这项技术也是可期的, 因为越来越多的人在自己的 react 项目中开始了这项技术的尝试.
Rollup
这是啥? 没错, 又有一个模块打包工具来了. 或许, 大家熟知的更多的是 webpack 这个模块打包工具. 今年的 4 月份, React 做了一个大动作 -- 在 React 的主分支上合并了一个 PR, 将当时的构建工具换成了 Rollup. 可想而知, 这个东西将会是多么的重要. 好奇的是, 它与其他的不同之处吧! 它是一款基于 ES2015 模块进行打包的打包器. 在过去的打包工具 (包括 webpack 在内) 中, 都是基于 CommonJS 的规范去进行模块的打包的, 所以, 过去很多库的前面总是会有一大堆 webpack 等自家的逻辑填充在开头. Rollup 不同, 他是后天生的, 出生的基准点就表明它的高度将不限于此. 但是, 相对于巨头 webpack 来说, 它或许在今年并未体现出它的优势, 但是相信它会厚积薄发的.
建议: 在开发应用时, 使用 webpack, 在开发库时, 可以考虑 Rollup.
GraphQL
这个东西, 或许在国内鲜有闻之. 但是, 它仍是一项不错的技术, 同时在调查中, 也体现出不俗的潜力, 如图:
它是有 Facebook 开发的一款 API 查询语言, 或将替代 REST 在后端的地位. 虽然, 目前来说, 其性能并不是特别的优秀, 也会 bug 不断. 但是, 2018 年或将是 GraphQL 的一年. 那么, 和前端又有什么关系呢? 别忘了, 我们手里还有一个利器 Node.JS 呢! 能够用好它, 对于你开发 Node.JS, 或许使用便利.
TypeScript
这一项由微软老大开发的语言, 处处在弥补着 JavaScript 的缺陷. 一出生, 就打着 "取代 JavaScript" 的旗号, 发展的速度也是惊人的. 当然了, W3C 也在努力的推进着 JavaScript 的进步, 之后的几年, 应该会是着两门语言并驾齐驱的发展吧. 因为开发人口众多, 不可能走到谁取代谁的地步.
最后, 贴出一张 Stack Overflow 上面的一项数据统计表吧!
来源: http://www.jianshu.com/p/dc822e83f1c0