2018年JavaScript明星项目

frontend-frameworks

2019年已到,是时候一起回顾一下2018年Javascript领取的发展及变化了。

一、最受欢迎的项目

image

以上是github上最火热的前10个项目,涵盖了所有类别。从上图可以看出

  • Vue.js 连续第三次登顶年度排行榜冠军。它今年在github上新增了超过45k的星星,比2017年多了5k +,势头不减!
  • Deno 作为今年前十中唯一的新项目,十分亮眼

Deno 是“一个可在浏览器外执行JavaScriptTypeScript代码的程序”。其作者“Ryan Dahl( Node.js 之父)”说这是一个尝试解决部分Nodejs原有的问题

二、前端框架

image

前端框架方面与2017年一样,Vue.js,React,Angular三足鼎立。有意思的是,VuejsReact都在六月份有一个小高潮。有了解过的同学知道,也正是那个时候Vue.js星星总数超越了React成为UI框架类中最受欢迎的项目。可以看出那段时间,两边粉丝拉票都很迅猛,还引发了一些列口水大战…

image

2018 年的新秀是 Omi,一个运用了 Shadow DOM 技术的、大有前途的UI框架,同时采用了React开发者们熟知的JSX语法。

三、Nodejs框架

image

排名前两位的分别是采用ReactNext.js和采用Vue.jsNuxt。他们都保证了良好的但页应用(SPA)开发体验,并支持服务端渲染SSRExpress虽然“年事已高”,但仍然十分流行。

四、React 生态圈

image

不出意外,在React生态圈类别,2018年的头号项目是 Create React App,创建新 React 项目的事实上的工具。其第2版在2018年发布,是一次大版本更新,改动包括内置Webpack 4,以及使用TypeScript的等特性。对于React本身,主要变动在于引入了 hooks,它或许能够改变我们对于状态管理的处理方式,以及调整React中的副作用。

五、Vue 生态圈

image

Vue.js的势头还在增长,第3个大版本计划发挥出现代浏览器的优势,以便更高效地运行和更易于使用。Vue Element AdminVue.js生态圈最流行的项目,是使用Vue.js组件构建漂亮的仪表板的解决方案。vue-cli 是使用现代JavaScript工具构建一个新的Vue.js应用程序的标准解决方案。它能够和ReactCreate React App相提并论,但它更灵活并提供了一个图形化的UI界面,使得它非常方便。

六、Angular 生态圈

image

2018年,在Angular生态圈中,不只一个而是有两个大版本更新。Angular version 6 推出于五月,提供了很多和工具化相关的功能。在Angular生态圈中,最流行的项目是官方的命令行工具Angular CLI,用于搭建新项目和管理现有项目。Angular version 7于十月发布。包含了Angular CLI prompts,以及Material Design for Angular的更新,并侧重性能提升,包括一个称为“虚拟滚动”Virtual Scrolling的特性。

七、移动开发

image

React Native依然是使用JavaScript语言创建移动端应用的主要解决方案。
Airbnb 最近发布了一系列完整的文章解释了为什么他们决定在下一个产品中抛弃React Native转而开发原生Apps
对于那些希望使用Vue.js而不是React的人们来说,这儿也有一些选择。
以下四个本类别中的项目(Weex,NativeScript,Quasar 和 Ionic)全都支持Vue.js作为视图层来构建移动端应用。
来自GoogleFlutter虽然不是JavaScript语言的项目(因为它使用Dart编程语言),但对于构建跨环境移动端应用,它也是一个很棒的备选方案。

八、编译工具

image

我们过去曾讨论在JavaScript中引入静态类型的最佳方案。到了2018年,看起来微软的TypeScript大幅领先了其灵感来源 —— FacebookFlow
实际上,支持TypeScript的最新版Babel是一个搅局者。TypeScript几乎是一个开发标准了:无论对于后端还是前端开发来说,我们看到越来越多的项目包含了 TypeScript声明。而且,如果某些库自身不带类型声明,那么名为DefinitelyTyped的项目会为大量的那些库提供类型声明。

九、构建工具

image

打包工具Parcel证实了它在2017年的成功,开发者们喜欢零配置建立一个新项目的能力。

十、测试框架

image

2018年中测试框架领域总体没有什么变化,5个领先的解决方案保持了和2017年相同的排名。
Jest比竞争者们进步更快,开发者们喜欢Fackbook的全功能测试框架所带来的效用 —— 无论是在前端(它最初被打算用于测试 React 组件)还是后端使用,而且它是零配置的。

十一、IDE 和编辑器

image

VS Code,全类别里第3流行的项目,几乎就是用于web开发的事实上的IDE了。它依靠自动补全功能和自带TypeScript集成站稳了脚跟。杀手级功能可能就是对于Node.js的调试能力了吧。

十一、CSS in JavaScript

image

虽然目前,对于基于组件的现代前端应用,什么才是最好的样式化方案,还没有定论(无论ReactVue.js 还是Angular)。但是Styled Components 依然有着最好的势头,看起来是最受欢迎的“组件样式化”解决方案。

十二、Static Sites 生成器

image

和2017年一样,Gatsby在2018年依然是最受欢迎的静态站点生成器(用于生成一组 HTML JavaScriptCSS文件,以便能够在任意地方托管,超快响应 —— 的一种工具)。
Gatsby 的亮点在于它的多面性(你能结合单页应用和静态站点的优点)以及对性能的关注。如果你希望使用Vue.js 而不是React,那么第 2 名的VuePress 或许是恰当的选择。

十三、GraphQL

image

GraphQL生态圈正在高速发展,并且有一个大趋势是: 一些工具的出现能够简化GraphQL的配置过程。
Gatsby依然是第一名,而且它绝对是最易上手使用GraphQL的工具之一。
Graphcool演变而来的 Prisma 位于第二。与此同时,Hasura GraphQL Engine还可以帮你直接从数据库生成一个能运作的后端。

十四、Learning Resource

image

总结

回顾2018年,JavaScript社区最大的事件或许是十一月的 Event-stream 漏洞风波,围绕这个事件,有大量关于开源项目安全问题和维护责任的讨论。其次还有Ant-Design的圣诞节风波。
说到开源,六月份微软收购Github算是一个爆炸新闻。在过去的几个月里,微软为了成为 JavaScript界主要参与者之一而做了大量工作,正如TypeScript语言和VS Code编辑器的成功所表明的。在开源界,也算是一大进步。期待2019…