2018年流行JavaScript明星项目

AI摘要:2018年JavaScript明星项目总结,Vue.js连续三年登顶,新增超45k star。前端框架仍由Vue、React和Angular主导。Next.js和Nuxt领跑Node.js框架。TypeScript成为静态类型首选,VS Code成为主流IDE。移动开发以React Native为主,GraphQL生态快速发展。

logos-bg.png

通过对比各项目过去12个月在 GitHub 上新增明星数量,来评估其在2018年度的受关注程度,进而选出2018年度 JavaScript 领域崛起的明星项目。

项目有点多,文章有点长,加载会有点慢!!

最受欢迎项目

Vue.js 连续第三次登顶年度排行榜冠军。
它今年在 GitHub 上新增了超过 45k 的 star,比 2017 还要多 5k 势头依然不减!
第 4 名,Deno 是今年前十名中唯一的新项目。
Deno 是“一个可在浏览器外执行 JavaScriptTypeScript 代码的程序”
根据其作者 Ryan Dahl( Node.js 之父)的说法,这是一个尝试解决部分 Node.js 原有问题的、可靠的 TypeScript 运行时。

vue
vue
Owner:vuejs
Watch:209817
Star:209817
Fork:33870
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

react
react
Owner:facebook
Watch:242078
Star:242078
Fork:50312
The library for web and native user interfaces.

vscode
vscode
Owner:microsoft
Watch:180433
Star:180433
Fork:37240
Visual Studio Code

deno
deno
Owner:denoland
Watch:105756
Star:105756
Fork:5852
A modern runtime for JavaScript and TypeScript.

puppeteer
puppeteer
Owner:puppeteer
Watch:93221
Star:93221
Fork:9359
JavaScript API for Chrome and Firefox

create-react-app
create-react-app
Owner:facebook
Watch:103942
Star:103942
Fork:27156
Set up a modern web app by running one command.

axios
axios
Owner:axios
Watch:108430
Star:108430
Fork:11470
Promise based HTTP client for the browser and node.js

ant-design
ant-design
Owner:ant-design
Watch:97193
Star:97193
Fork:54330
An enterprise-class UI design language and React UI library

vue-element-admin
vue-element-admin
Owner:PanJiaChen
Watch:90257
Star:90257
Fork:30652
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

storybook
storybook
Owner:storybookjs
Watch:88987
Star:88987
Fork:9820
Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation

前端框架

在前端框架方面,主导者还是和 2017 年一样的三位:Vue.jsReactAngular
六月 Vue.jsReact 都有一个小高峰。是什么原因?那时正值 Vue.js 总 star 数超过 React,成为 UI 框架类别中最受欢迎的项目。那时候,双方的粉丝都在为他们心目中的冠军拉票!
2018 年的新秀是 Omi,一个运用了 Shadow DOM 技术的、大有前途的 UI 框架,同时采用了 React 开发者们熟知的 JSX 语法。

vue
vue
Owner:vuejs
Watch:209817
Star:209817
Fork:33870
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

react
react
Owner:facebook
Watch:242078
Star:242078
Fork:50312
The library for web and native user interfaces.

angular
angular
Owner:angular
Watch:99640
Star:99640
Fork:26958
Deliver web apps with confidence 🚀

hyperapp
hyperapp
Owner:jorgebucaran
Watch:19200
Star:19200
Fork:780
1kB-ish JavaScript framework for building hypertext applications

omi
omi
Owner:Tencent
Watch:13252
Star:13252
Fork:1265
Web Components Framework - Web组件框架

Node.js 框架

在 2018 年中领跑的两个 Node.js 框架是基于特定前端框架的“全栈框架”。
采用 ReactNext.js,本类别的新冠军。
采用 Vue.jsNuxt
它们都保证了良好的单页应用(SPA)开发体验,并支持服务端渲染(SSR)。
位于第 4 的是 Express,2017 年的第一名,尽管它“年事已高”,依然十分流行。

next.js
next.js
Owner:vercel
Watch:137001
Star:137001
Fork:30212
The React Framework

nuxt
nuxt
Owner:nuxt
Watch:59260
Star:59260
Fork:5487
The Full-Stack Vue Framework.

nest
nest
Owner:nestjs
Watch:74164
Star:74164
Fork:8160
A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀

express
express
Owner:expressjs
Watch:68516
Star:68516
Fork:22074
Fast, unopinionated, minimalist web framework for node.

koa
koa
Owner:koajs
Watch:35717
Star:35717
Fork:3218
Expressive middleware for node.js using ES2017 async functions

Vue 生态圈

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

vue-element-admin
vue-element-admin
Owner:PanJiaChen
Watch:90257
Star:90257
Fork:30652
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

element
element
Owner:ElemeFE
Watch:54236
Star:54236
Fork:14581
A Vue.js 2.0 UI Toolkit for Web

vuepress
vuepress
Owner:vuejs
Watch:22816
Star:22816
Fork:4696
📝 Minimalistic Vue-powered static site generator

vue-cli
vue-cli
Owner:vuejs
Watch:29662
Star:29662
Fork:6287
🛠️ webpack-based tooling for Vue.js Development

nuxt
nuxt
Owner:nuxt
Watch:59260
Star:59260
Fork:5487
The Full-Stack Vue Framework.

React 生态圈

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

create-react-app
create-react-app
Owner:facebook
Watch:103942
Star:103942
Fork:27156
Set up a modern web app by running one command.

ant-design
ant-design
Owner:ant-design
Watch:97193
Star:97193
Fork:54330
An enterprise-class UI design language and React UI library

gatsby
gatsby
Owner:gatsbyjs
Watch:55964
Star:55964
Fork:10253
The best React-based framework with performance, scalability and security built in.

next.js
next.js
Owner:vercel
Watch:137001
Star:137001
Fork:30212
The React Framework

material-ui
material-ui
Owner:mui
Watch:97579
Star:97579
Fork:32788
Material UI: Comprehensive React component library that implements Google's Material Design. Free forever.

Angular 生态圈

2018 年,在 Angular 生态圈中,不只一个而是有两个大版本更新!
Angular version 6 推出于五月,提供了很多和工具化相关的功能。
因此,在 Angular 生态圈中,最流行的项目是官方的命令行工具 Angular CLI,用于搭建新项目和管理现有项目。
在这些新功能中,update 命令使更新应用和依赖变得容易。此外,现在可以在不 ejecting 的情况下调整底层 Webpack 配置。
Angular version 7 于十月发布。
包含了 Angular CLI prompts,以及 Material Design for Angular 的更新,并侧重性能提升,包括一个称为“虚拟滚动”(Virtual Scrolling)的特性。

angular-cli
angular-cli
Owner:angular
Watch:27025
Star:27025
Fork:11917
CLI tool for Angular

ngx-admin
ngx-admin
Owner:akveo
Watch:25916
Star:25916
Fork:7969
Customizable admin dashboard template based on Angular 10+

components
components
Owner:angular
Watch:24961
Star:24961
Fork:6836
Component infrastructure and Material Design components for Angular

platform
platform
Owner:ngrx
Watch:8284
Star:8284
Fork:2045
Reactive State for Angular

ng-zorro-antd
ng-zorro-antd
Owner:NG-ZORRO
Watch:9139
Star:9139
Fork:4073
Angular UI Component Library based on Ant Design

移动开发

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

react-native
react-native
Owner:facebook
Watch:124989
Star:124989
Fork:25043
A framework for building native applications using React

incubator-weex
incubator-weex
Owner:apache
Watch:13679
Star:13679
Fork:1793
Apache Weex (Incubating)

NativeScript
NativeScript
Owner:NativeScript
Watch:25384
Star:25384
Fork:1729
⚡ Write Native with TypeScript ✨ Best of all worlds (TypeScript, Swift, Objective C, Kotlin, Java, Dart). Use what you love ❤️ Angular, React, Solid, Svelte, Vue with: iOS (UIKit, SwiftUI), Android (View, Jetpack Compose), Flutter and you name it compatible.

quasar
quasar
Owner:quasarframework
Watch:27030
Star:27030
Fork:3681
Quasar Framework - Build high-performance VueJS user interfaces in record time

ionic-framework
ionic-framework
Owner:ionic-team
Watch:52278
Star:52278
Fork:13423
A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.

编译工具

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

TypeScript
TypeScript
Owner:microsoft
Watch:107369
Star:107369
Fork:13202
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

babel
babel
Owner:babel
Watch:43844
Star:43844
Fork:5788
🐠 Babel is a compiler for writing next generation JavaScript.

flow
flow
Owner:facebook
Watch:22207
Star:22207
Fork:1886
Adds static typing to JavaScript to improve developer productivity and code quality.

reason
reason
Owner:reasonml
Watch:10289
Star:10289
Fork:430
Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems

purescript
purescript
Owner:purescript
Watch:8821
Star:8821
Fork:571
A strongly-typed language that compiles to JavaScript

构建工具

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

parcel
parcel
Owner:parcel-bundler
Watch:44034
Star:44034
Fork:2276
The zero configuration build tool for the web. 📦🚀

webpack
webpack
Owner:webpack
Watch:65888
Star:65888
Fork:9212
A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.

rollup
rollup
Owner:rollup
Watch:26189
Star:26189
Fork:1664
Next-generation ES module bundler

gulp
gulp
Owner:gulpjs
Watch:33032
Star:33032
Fork:4196
A toolkit to automate & enhance your workflow

poi
poi
Owner:egoist
Watch:5197
Star:5197
Fork:254
⚡A zero-config bundler for JavaScript applications.

测试框架

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

jest
jest
Owner:jestjs
Watch:45251
Star:45251
Fork:6627
Delightful JavaScript Testing.

ava
ava
Owner:avajs
Watch:20853
Star:20853
Fork:1405
Node.js test runner that lets you develop with confidence 🚀

mocha
mocha
Owner:mochajs
Watch:22862
Star:22862
Fork:3061
☕️ classic, reliable, trusted JavaScript test framework for Node.js & the browser

jasmine
jasmine
Owner:jasmine
Watch:15839
Star:15839
Fork:2242
Simple JavaScript testing framework for browsers and node.js

tape
tape
Owner:tape-testing
Watch:5796
Star:5796
Fork:304
tap-producing test harness for node and browsers

IDE 和编辑器

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

vscode
vscode
Owner:microsoft
Watch:180433
Star:180433
Fork:37240
Visual Studio Code

atom
atom
Owner:atom
Watch:60965
Star:60965
Fork:17303
:atom: The hackable text editor

theia
theia
Owner:eclipse-theia
Watch:21286
Star:21286
Fork:2765
Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.

reactide
reactide
Owner:reactide
Watch:10517
Star:10517
Fork:612
Reactide is the first dedicated IDE for React web application development.

brackets
brackets
Owner:adobe
Watch:33132
Star:33132
Fork:7542
An open source code editor for the web, written in JavaScript, HTML and CSS.

CSS in JavaScript

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

styled-components
styled-components
Owner:styled-components
Watch:41015
Star:41015
Fork:2527
Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅

emotion
emotion
Owner:emotion-js
Watch:17964
Star:17964
Fork:1137
👩‍🎤 CSS-in-JS library designed for high performance style composition

css-modules
css-modules
Owner:css-modules
Watch:17948
Star:17948
Fork:561
Documentation about css-modules

linaria
linaria
Owner:callstack
Watch:12267
Star:12267
Fork:418
Zero-runtime CSS in JS library

polished
polished
Owner:styled-components
Watch:7664
Star:7664
Fork:213
A lightweight toolset for writing styles in JavaScript ✨

静态网站生成器

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

gatsby
gatsby
Owner:gatsbyjs
Watch:55964
Star:55964
Fork:10253
The best React-based framework with performance, scalability and security built in.

next.js
next.js
Owner:vercel
Watch:137001
Star:137001
Fork:30212
The React Framework

vuepress
vuepress
Owner:vuejs
Watch:22816
Star:22816
Fork:4696
📝 Minimalistic Vue-powered static site generator

nuxt
nuxt
Owner:nuxt
Watch:59260
Star:59260
Fork:5487
The Full-Stack Vue Framework.

hexo
hexo
Owner:hexojs
Watch:41131
Star:41131
Fork:5033
A fast, simple & powerful blog framework, powered by Node.js.

GraphQL

GraphQL 生态圈正在高速发展,并且有一个大趋势是: 一些工具的出现能够简化 GraphQL 的配置过程。
Gatsby 依然是第一名,而且它绝对是最易上手使用 GraphQL 的工具之一。
Graphcool 演变而来的 Prisma 位于第二。与此同时,Hasura GraphQL Engine 还可以帮你直接从数据库生成一个能运作的后端。
前 15 名的其余部分,包括 GraphQL 服务端、客户端、以及各种其他工具 —— 比如 GraphQL Playground

gatsby
gatsby
Owner:gatsbyjs
Watch:55964
Star:55964
Fork:10253
The best React-based framework with performance, scalability and security built in.

prisma
prisma
Owner:prisma
Watch:45004
Star:45004
Fork:2017
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

apollo-client
apollo-client
Owner:apollographql
Watch:19700
Star:19700
Fork:2705
The industry-leading GraphQL client for TypeScript, JavaScript, React, Vue, Angular, and more. Apollo Client delivers powerful caching, intuitive APIs, and comprehensive developer tools to accelerate your app development.

graphql-spec
graphql-spec
Owner:graphql
Watch:14751
Star:14751
Fork:1150
GraphQL is a query language and execution engine tied to any backend service.

apollo-server
apollo-server
Owner:apollographql
Watch:13936
Star:13936
Fork:2015
🌍  Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.

学习资源

javascript-algorithms
javascript-algorithms
Owner:trekhleb
Watch:195286
Star:195286
Fork:31112
📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

30-seconds-of-code
30-seconds-of-code
Owner:Chalarangelo
Watch:126235
Star:126235
Fork:12398
Coding articles to level up your development skills

You-Dont-Know-JS
You-Dont-Know-JS
Owner:getify
Watch:184230
Star:184230
Fork:33679
A book series (2 published editions) on the JS language.

javascript
javascript
Owner:airbnb
Watch:148012
Star:148012
Fork:26781
JavaScript Style Guide

nodebestpractices
nodebestpractices
Owner:goldbergyoni
Watch:104897
Star:104897
Fork:10683
:white_check_mark: The Node.js best practices list (July 2024)

添加新评论