2019年已到,是时候一起回顾一下2018年Javascript
领取的发展及变化了。
一、最受欢迎的项目
以上是github
上最火热的前10个项目,涵盖了所有类别。从上图可以看出
- Vue.js 连续第三次登顶年度排行榜冠军。它今年在
github
上新增了超过45k的星星,比2017年多了5k +,势头不减! - Deno 作为今年前十中唯一的新项目,十分亮眼
Deno 是“一个可在浏览器外执行
JavaScript
和TypeScript
代码的程序”。其作者“Ryan Dahl( Node.js 之父)”说这是一个尝试解决部分Nodejs原有的问题
二、前端框架
前端框架方面与2017年一样,Vue.js
,React
,Angular
三足鼎立。有意思的是,Vuejs
和React
都在六月份有一个小高潮。有了解过的同学知道,也正是那个时候Vue.js
星星总数超越了React
成为UI框架类中最受欢迎的项目。可以看出那段时间,两边粉丝拉票都很迅猛,还引发了一些列口水大战…
2018 年的新秀是 Omi,一个运用了 Shadow DOM 技术的、大有前途的UI框架,同时采用了React
开发者们熟知的JSX
语法。
三、Nodejs框架
排名前两位的分别是采用React
的Next.js
和采用Vue.js
的Nuxt
。他们都保证了良好的但页应用(SPA)开发体验,并支持服务端渲染SSR
。Express
虽然“年事已高”,但仍然十分流行。
四、React 生态圈
不出意外,在React
生态圈类别,2018年的头号项目是 Create React App,创建新 React 项目的事实上的工具。其第2版在2018年发布,是一次大版本更新,改动包括内置Webpack 4
,以及使用TypeScript
的等特性。对于React
本身,主要变动在于引入了 hooks
,它或许能够改变我们对于状态管理的处理方式,以及调整React
中的副作用。
五、Vue 生态圈
Vue.js的势头还在增长,第3个大版本计划发挥出现代浏览器的优势,以便更高效地运行和更易于使用。Vue Element Admin是Vue.js
生态圈最流行的项目,是使用Vue.js
组件构建漂亮的仪表板的解决方案。vue-cli 是使用现代JavaScript
工具构建一个新的Vue.js
应用程序的标准解决方案。它能够和React
的Create React App
相提并论,但它更灵活并提供了一个图形化的UI界面,使得它非常方便。
六、Angular 生态圈
2018年,在Angular
生态圈中,不只一个而是有两个大版本更新。Angular version 6
推出于五月,提供了很多和工具化相关的功能。在Angular
生态圈中,最流行的项目是官方的命令行工具Angular CLI
,用于搭建新项目和管理现有项目。Angular version 7
于十月发布。包含了Angular CLI prompts
,以及Material Design for Angular
的更新,并侧重性能提升,包括一个称为“虚拟滚动”Virtual Scrolling
的特性。
七、移动开发
React Native
依然是使用JavaScript
语言创建移动端应用的主要解决方案。Airbnb
最近发布了一系列完整的文章解释了为什么他们决定在下一个产品中抛弃React Native
转而开发原生Apps
。
对于那些希望使用Vue.js
而不是React
的人们来说,这儿也有一些选择。
以下四个本类别中的项目(Weex,NativeScript,Quasar 和 Ionic
)全都支持Vue.js
作为视图层来构建移动端应用。
来自Google
的Flutter
虽然不是JavaScript
语言的项目(因为它使用Dart
编程语言),但对于构建跨环境移动端应用,它也是一个很棒的备选方案。
八、编译工具
我们过去曾讨论在JavaScript
中引入静态类型的最佳方案。到了2018
年,看起来微软的TypeScript
大幅领先了其灵感来源 —— Facebook
的Flow
。
实际上,支持TypeScript
的最新版Babel
是一个搅局者。TypeScript
几乎是一个开发标准了:无论对于后端还是前端开发来说,我们看到越来越多的项目包含了 TypeScript
声明。而且,如果某些库自身不带类型声明,那么名为DefinitelyTyped的项目会为大量的那些库提供类型声明。
九、构建工具
打包工具Parcel
证实了它在2017年的成功,开发者们喜欢零配置建立一个新项目的能力。
十、测试框架
2018
年中测试框架领域总体没有什么变化,5个领先的解决方案保持了和2017年相同的排名。
Jest比竞争者们进步更快,开发者们喜欢Fackbook
的全功能测试框架所带来的效用 —— 无论是在前端(它最初被打算用于测试 React 组件)还是后端使用,而且它是零配置的。
十一、IDE 和编辑器
VS Code,全类别里第3流行的项目,几乎就是用于web
开发的事实上的IDE
了。它依靠自动补全功能和自带TypeScript
集成站稳了脚跟。杀手级功能可能就是对于Node.js
的调试能力了吧。
十一、CSS in JavaScript
虽然目前,对于基于组件的现代前端应用,什么才是最好的样式化方案,还没有定论(无论React
,Vue.js
还是Angular
)。但是Styled Components 依然有着最好的势头,看起来是最受欢迎的“组件样式化”解决方案。
十二、Static Sites 生成器
和2017年一样,Gatsby在2018年依然是最受欢迎的静态站点生成器(用于生成一组 HTML JavaScript
和 CSS
文件,以便能够在任意地方托管,超快响应 —— 的一种工具)。Gatsby
的亮点在于它的多面性(你能结合单页应用和静态站点的优点)以及对性能的关注。如果你希望使用Vue.js
而不是React
,那么第 2 名的VuePress 或许是恰当的选择。
十三、GraphQL
GraphQL
生态圈正在高速发展,并且有一个大趋势是: 一些工具的出现能够简化GraphQL
的配置过程。
Gatsby依然是第一名,而且它绝对是最易上手使用GraphQL
的工具之一。
从Graphcool
演变而来的 Prisma 位于第二。与此同时,Hasura GraphQL Engine还可以帮你直接从数据库生成一个能运作的后端。
十四、Learning Resource
总结
回顾2018年,JavaScript
社区最大的事件或许是十一月的 Event-stream 漏洞风波,围绕这个事件,有大量关于开源项目安全问题和维护责任的讨论。其次还有Ant-Design的圣诞节风波。
说到开源,六月份微软收购Github
算是一个爆炸新闻。在过去的几个月里,微软为了成为 JavaScript
界主要参与者之一而做了大量工作,正如TypeScript
语言和VS Code
编辑器的成功所表明的。在开源界,也算是一大进步。期待2019…