2016 JavaScript Rising Stars

The JavaScript community is going full speed on innovation, what was once trendy becomes old-fashioned a few months later.

2016 is over, you may think you missed something important? Don't worry, we are going to review what were the main trends.

Let's see by the numbers which projects got traction in 2016, by comparing the numbers of stars added on Github, over the last 12 months.

In 2015, React was the king and Redux won by storm the battle of Flux implementations. Who are the 2016 JavaScript rising stars ?



The following graphs compare the number of stars added on Github over the last 12 months. We analyzed projects coming from Best of JavaScript, a curated list of the best projects related to the web platform.

Most Popular Projects in 2016

1
Vue.js

Vue.js

🖖 A progressive, incrementally-adoptable JavaScript framework for building UI on the web.
+26.4k☆
1.6k
948
1.3k
2.0k
2.0k
1.7k
2.1k
2.2k
2.7k
3.7k
3.2k
3.0k
J
F
M
A
M
J
J
A
S
O
N
D
2
React

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.
+22.9k☆
1.8k
1.5k
2.2k
2.0k
1.6k
1.6k
2.0k
1.8k
2.4k
2.2k
2.1k
1.8k
J
F
M
A
M
J
J
A
S
O
N
D
3
Electron

Electron

Build cross platform desktop apps with JavaScript, HTML, and CSS
+18.2k☆
1.5k
1.1k
1.8k
1.3k
3.4k
1.5k
1.3k
1.3k
1.4k
1.2k
1.2k
1.2k
J
F
M
A
M
J
J
A
S
O
N
D
4
React Native

React Native

A framework for building native apps with React.
+17.5k☆
1.8k
1.3k
1.8k
1.8k
1.4k
1.4k
1.4k
1.3k
1.4k
1.4k
1.3k
1.2k
J
F
M
A
M
J
J
A
S
O
N
D
5
Redux

Redux

Predictable state container for JavaScript apps
+15.2k☆
1.7k
1.5k
1.5k
1.3k
1.3k
1.2k
1.1k
1.2k
1.2k
1.1k
1.1k
932
J
F
M
A
M
J
J
A
S
O
N
D

Overview

By checking the 10 hottest projects of the year, you can get a good overview of what was the web development landscape in 2016, since you will find:

  • 3 UI frameworks: Vue.js, React and Angular
  • A new node.js package manager: Yarn
  • The leading solution to build desktop applications: Electron
  • A solution to quicky start a new React project Create React App
  • A mobile framework: React Native
  • The most famous CSS toolkit: Bootstrap
  • A state management library based on functional concepts: Redux
  • A powerful and flexible chart library: D3

It tells a lot about JavaScript ubiquity and versatility in 2016.

And the 2016 winner is... 🏆

Vue.js project got more than 25,000 stars on Github last year, it means 72 stars per day, it's more than what any other framework got, including React and Angular.

The version 2, that takes advantage of the Virtual DOM for performance, was released in October.

Vue.js is used in production by big companies (including Alibaba, the biggest e-commerce company in China), so you can consider it as a safe choice.

There is already a quite mature eco-system around it, including a router (vue-router) and a state management library (Vuex).

It seems that Vue.js took the best of React (the component approach) and Angular 1 (templates are html code enhanced by the framework features).

Front-end Frameworks

1
Vue.js

Vue.js

🖖 A progressive, incrementally-adoptable JavaScript framework for building UI on the web.
+26.4k☆
1.6k
948
1.3k
2.0k
2.0k
1.7k
2.1k
2.2k
2.7k
3.7k
3.2k
3.0k
J
F
M
A
M
J
J
A
S
O
N
D
2
React

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.
+22.9k☆
1.8k
1.5k
2.2k
2.0k
1.6k
1.6k
2.0k
1.8k
2.4k
2.2k
2.1k
1.8k
J
F
M
A
M
J
J
A
S
O
N
D
3
Angular

Angular

One framework. Mobile & desktop.
+10.4k☆
8.1k
675
688
901
J
F
M
A
M
J
J
A
S
O
N
D
4
Angular 1

Angular 1

AngularJS - HTML enhanced for web apps!
+8.5k☆
973
829
843
653
714
708
707
717
746
533
575
532
J
F
M
A
M
J
J
A
S
O
N
D
5
Inferno

Inferno

An extremely fast, React-like JavaScript library for building modern user interfaces
+6.9k☆
80
95
52
114
48
1.5k
453
127
1.1k
217
652
2.4k
J
F
M
A
M
J
J
A
S
O
N
D

This Front-end Frameworks category is maybe the one that is responsible for what was called the JavaScript fatigue in 2016. It seemed that every month a new contender made the buzz, pushing the pace of innovation!

To be exact, 2 kinds of projects are mixed in the category:

  • Full frameworks that include all features to create a modern web application (routing, data fetching, state management). Angular 1, Angular, Ember or Aurelia fall in this category.
  • Lighter solutions that focus on the UI layer, like React, Vue.js, Inferno...

We have already mentioned Vue.js (number 1 overall), let's see the other contenders.

React and its contenders

React is number 2, no front-end developer can ignore React and its rich eco-system.

React is so popular that it inspired a lot of other libraries that aim to take the best of React, without the fat, in order to improve both performance in the browser and building time.

Inferno was the most popular project in this category, it claims to be the fastest alternative to React.

Following closely Inferno in our rankings, Preact is a nice alternative to React too. Its eco-system is quite mature, for example there is a boilerplate with offline capabilities, a router, a compat module so that you can use any existing React library inside your Preact project.

Angular 1 and 2

Angular project has been split into 2 repositories because Angular 2 is a full rewrite of Angular 1, even if some concepts remain the same.

Angular is written in TypeScript and takes advantage of ES6 to deliver a modern and thorough framework.

Angular 1 (called "AngularJS" on Github) is still used in many projects and will remain popular for a while.

It's worth to mention that Ember, despite its large eco-system and its community is not in the top 10.

So it seems that, rather than opting for full frameworks with all features "out of the box", developers in 2016 flavored lighter approaches and prefer to compose their own solution "à la carte".

Node.js Frameworks

1
Express

Express

Fast, unopinionated, minimalist web framework for node.
+6.9k☆
535
655
736
643
618
551
566
559
490
458
582
483
J
F
M
A
M
J
J
A
S
O
N
D
2
Koa

Koa

Expressive middleware for node.js using ES2017 async functions
+5.0k☆
591
387
428
414
436
342
367
466
425
374
380
402
J
F
M
A
M
J
J
A
S
O
N
D
3
Feathers

Feathers

A REST and realtime API layer for modern applications.
+4.1k☆
57
59
2.0k
428
212
158
131
217
140
180
267
201
J
F
M
A
M
J
J
A
S
O
N
D
4
Keystone

Keystone

node.js cms and web app framework
+3.6k☆
289
290
300
336
293
290
278
318
315
267
321
282
J
F
M
A
M
J
J
A
S
O
N
D
5
Sails

Sails

Realtime MVC Framework for Node.js
+3.2k☆
295
334
354
290
295
246
234
241
201
214
249
223
J
F
M
A
M
J
J
A
S
O
N
D

In 2016 it has never been easier to create and deploy a node.js application with solutions like:

Projects like Glitch (previously called Gomix) even lowered the barrier to the node.js world, making easy to anyone to write and share node.js code in a few clicks, right from the browser.

So if you have to build a web application, which framework to choose?

Express

When you build a web application with node.js, Express is often considered as the de-facto web server. Its philosophy (a minimalistic core that you can extend using middleware packages) is familiar to most of node.js developers.

Koa

Koa philosophy is close to Express but it's built using ES6 generators to avoid a problem sometimes called Callback Hell.

Feathers

Feathers is a very flexible solution to create a "service oriented" architecture, it's a good fit to create node.js microservices.

Nodal

Nodal framework targets stateless and distributed services connected to PostgreSQL databases.

Keystone

Keystone is one of the best solutions I know to get an admin client up and running, in order to manage the content coming from a MongoDB database. The Admin UI is automatically generated from the models, has all CRUD actions and nice filters.

Sails

Sails is a full MVC framework, very inspired by Ruby on Rails (hence the name Sails!). It has been around for a long time. It can play with any kind of database, SQL or non-SQL.

Loopback

Loopback is another mature framework with a lot of built-in features, including authentication with token and connectors to any kind of database.

The killer feature is the API explorer that lets developers check all API end-points in an intuitive way, with the ability to check any user's token. It's definitively a good choice if you have to build an API.

React Ecosystem

1
Create React App

Create React App

Create React apps with no build configuration.
+9.5k☆
1.6k
2.4k
2.1k
1.7k
1.8k
J
F
M
A
M
J
J
A
S
O
N
D
2
Material UI

Material UI

React components that implement Google's Material Design.
+9.4k☆
705
668
860
879
854
753
796
821
794
761
750
722
J
F
M
A
M
J
J
A
S
O
N
D
3
React Router

React Router

Declarative routing for React
+9.1k☆
961
685
750
744
709
716
673
753
1.0k
756
661
647
J
F
M
A
M
J
J
A
S
O
N
D
4
React boilerplate

React boilerplate

A highly scalable, offline-first foundation with the best developer experience and a focus on
+8.9k☆
703
178
276
170
3.6k
843
523
473
675
478
536
532
J
F
M
A
M
J
J
A
S
O
N
D
5
React Starter Kit

React Starter Kit

React Starter Kit — isomorphic web app boilerplate (Node.js, Express, GraphQL, React.js, Babel, Post
+6.3k☆
573
516
569
540
571
551
525
613
517
474
489
368
J
F
M
A
M
J
J
A
S
O
N
D

React is a great UI library but using React and the modern web development workflow tools require a lot of configuration. So how to start creating a real-world application?

It's the answer provided by the React "boilerplates" and other "starter kits"...

Create React App

Facebook addressed the need by providing a lighter approach called Create React App that is a very convenient way to start a new React project.

Dan Abramov (the creator of Redux, now working for Facebook) did a great job, finding the right balance between simplicity and features. For example there is no fancy styling solution (just plain CSS), no server-side rendering, but everything is well packaged and the developer experience is really good.

The main difference with its contenders is that if you use Create React App, it becomes a dependency of your project, all the magic is hidden and what you see is only your application code. You can upgrade the dependency at any time, it's not just a starting point.

React boilerplate

The well named React boilerplate has everything you need, including Redux and some nice offline features, taking advantage of the web workers technology.

It lets developers create what is called Progressive Web Applications (or PWA): web applications that run offline, using a technology called Service Worker, for more information you can read this article from Nicolás Bevacqua.

Next.js

Next.js, created by the busy folks from Zeit, has a server-side rendering feature that can be used to create universal applications (or isomorphic applications, as we used to say in 2015), that is to say applications that run more or less with the same code client AND server-side.

Mobile

1
React Native

React Native

A framework for building native apps with React.
+17.5k☆
1.8k
1.3k
1.8k
1.8k
1.4k
1.4k
1.4k
1.3k
1.4k
1.4k
1.3k
1.2k
J
F
M
A
M
J
J
A
S
O
N
D
2
Ionic

Ionic

Build amazing native and progressive web apps with open web technologies. One app running on everyth
+6.0k☆
705
548
581
488
468
504
459
438
480
444
471
438
J
F
M
A
M
J
J
A
S
O
N
D
3
NativeScript

NativeScript

NativeScript is an open source framework for building truly native mobile apps with JavaScript. Use
+3.7k☆
340
342
273
262
416
270
365
281
312
281
313
294
J
F
M
A
M
J
J
A
S
O
N
D

JavaScript is so ubiquitous that you can build native mobile applications using technologies web developers already know (HTML, JavaScript, CSS).

React Native

With React Native, from the same code base, you can build iOS and Android real native mobile applications, using concepts familiar to React developers. To know more about building applications for both iOS and Android, read this tutorial.

Other solutions, based on Cordova, used to rely on Webview to render the screens and were not as efficient as a native solution. "Write Once Run Everywhere"... This is a developer's dream came true!

Ionic

Ionic was a pioneer with the concept of "hybrid" applications. Under the hood, it's based on Cordova to access the mobile device features. It's very mature with a large eco-system.

NativeScript

NativeScript aims for the same goal as React Native (build real mobile applications using web technologies). It comes in 2 flavors, NativeScript Core and NativeScript + Angular 2

Looking forward...

A project to follow closely in 2017: Weex, a framework for building Mobile cross-platform UI built on top of Vue.js.

Compilers

1
TypeScript

TypeScript

TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
+9.4k☆
651
601
754
741
685
794
971
805
966
877
846
732
J
F
M
A
M
J
J
A
S
O
N
D
2
Babel

Babel

Babel is a compiler for writing next generation JavaScript.
+6.6k☆
772
624
660
570
548
484
482
529
484
497
437
483
J
F
M
A
M
J
J
A
S
O
N
D
3
Reason

Reason

Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems
+1.9k☆
1.1k
98
112
63
133
152
94
99
J
F
M
A
M
J
J
A
S
O
N
D
4
CoffeeScript

CoffeeScript

Unfancy JavaScript
+1.2k☆
136
121
127
124
114
103
83
91
84
74
69
98
J
F
M
A
M
J
J
A
S
O
N
D
5
ClojureScript

ClojureScript

Clojure to JS compiler
+1.2k☆
126
100
106
103
112
91
82
82
85
61
100
108
J
F
M
A
M
J
J
A
S
O
N
D

We are talking here about compilers (or "transpilers") that generate JavaScript from any language (or any variation of JavaScript). They transform the code into "standard JavaScript" code that the browser (or node.js) can execute.

For example compilers let developers write code using the latest version of JavaScript (ES6) without having to worry about browser support.

TypeScript

The most trendy transpiler was TypeScript, it brings to web developers the static types used by Java and C# developers. The fact that Angular uses TypeScript added even more traction. There are pros and cons about using types in JavaScript, read these 2 article to make your own point of view:

Babel

Babel, along with Webpack, almost became a standard to compile ES6 code and templates used by libraries like React (JSX) in standard JavaScript. Initially created to compile ES6, it became a much more generic tool that can accomplish any code transformation, thanks to a system of plugins.

Flow

Flow is not a compiler, it's a static type checker used to "annotate" the JavaScript code. Basically using Flow inside a code base means adding comments to describe expected types (read more about using Flow to write modules here).

It's used inside the code source of Facebook projects. Since Facebook became one of the major actors of the open source world (with projects like React, React Native, Flux, Immutable, Jest...), that means a lot.

CoffeeScript

During years CoffeeScript and its lean syntax, inspired by Python and Ruby syntax, was the most popular compiler but a lot of developers moved from CoffeeScript to ES6 with Babel in 2016.

Build Tools

1
Webpack

Webpack

A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting a
+11.2k☆
912
805
892
883
755
856
918
1.0k
885
1.2k
1.1k
1.0k
J
F
M
A
M
J
J
A
S
O
N
D
2
Gulp

Gulp

The streaming build system
+6.3k☆
622
549
657
573
532
497
547
510
470
489
481
357
J
F
M
A
M
J
J
A
S
O
N
D
3
Rollup

Rollup

Next-generation ES6 module bundler
+5.2k☆
402
458
452
322
387
340
321
721
610
481
341
324
J
F
M
A
M
J
J
A
S
O
N
D
4
Browserify

Browserify

browser-side require() the node.js way
+1.7k☆
184
188
163
143
124
129
141
133
129
127
120
80
J
F
M
A
M
J
J
A
S
O
N
D
5
Grunt

Grunt

Grunt: The JavaScript Task Runner
+889☆
99
107
100
89
66
64
76
62
39
54
63
70
J
F
M
A
M
J
J
A
S
O
N
D

In 2016, it's difficult to imagine a web application without any kind of building process. You usually need a building process to compile templates and optimize assets in order to ship your web application in production.

Webpack

Webpack is the main tool used to build a single-page application, it plays well with the React eco-system. The newly released version 2 comes with some promising enhancements (check this introduction)

Gulp

Gulp is a generic a task runner that can be used for any kind of automatic process involving the file system, so it's not a direct contender of Webpack or Browserify.

Like Grunt, Gulp works by aggregation: you can ask it to minify and concatenate a list of assets but it does not deal with modular JavaScript by itself, as Webpack or Browserify do.

Nevertheless it can play well with webpack even if developers tend to use npm scripts instead.

Browserify

Browserify, because of its simplicity is usually loved by node.js developers.

Basically it takes several node.js packages as an input and generates one single "build" file for the browser as an output. But it seems that a more opinionated tool like Webpack is a a better fit to web application workflows.

Looking forward...

A module bundler to follow in 2017, that emphasizes on performance: Rollup.

It uses ES6 modules with a feature called Tree shaking to create bundles that include only functions you use in your code, instead of shipping the full library.

Testing Frameworks

1
AVA

AVA

Futuristic JavaScript test runner
+5.5k☆
321
604
989
447
408
421
428
450
381
363
321
333
J
F
M
A
M
J
J
A
S
O
N
D
2
Jest

Jest

🃏 Delightful JavaScript Testing.
+3.9k☆
116
96
166
189
139
153
139
222
929
502
475
792
J
F
M
A
M
J
J
A
S
O
N
D
3
Mocha

Mocha

☕️ simple, flexible, fun javascript test framework for node.js & the browser
+2.9k☆
267
219
280
203
238
256
279
281
202
215
260
242
J
F
M
A
M
J
J
A
S
O
N
D
4
Jasmine

Jasmine

Simple JavaScript testing framework for browsers and node.js
+1.8k☆
192
172
184
183
150
140
162
144
167
113
127
99
J
F
M
A
M
J
J
A
S
O
N
D
5
Tape

Tape

tap-producing test harness for node and browsers
+1.7k☆
174
142
172
144
128
147
114
119
122
166
108
123
J
F
M
A
M
J
J
A
S
O
N
D

The 2 most famous testing frameworks are Jasmine and Mocha but 2 more recent projects got more traction in 2016: AVA and Jest.

AVA

AVA, created by the prolific Sindre Sorhus puts emphasize on performance (parallel test) and ES6. AVA's syntax is close to standard test frameworks like Tape and Node-tap.

Jest

Jest, another Facebook project, got a lot of traction over the last weeks. It's well-known in the React community, more and more people are moving to Jest (read this story for example) and it may become the most popular testing framework in 2017.

Jest has good built-in mocking abilities, whereas other testing frameworks usually rely on libraries like Sinon.JS.

IDE

1
VS Code

VS Code

Visual Studio Code
+11.8k☆
907
739
983
1.8k
989
813
775
763
938
984
1.1k
1.0k
J
F
M
A
M
J
J
A
S
O
N
D
2
Atom

Atom

The hackable text editor
+10.1k☆
977
817
1.0k
969
841
787
669
885
797
847
780
733
J
F
M
A
M
J
J
A
S
O
N
D
3
Brackets

Brackets

An open source code editor for the web, written in JavaScript, HTML and CSS.
+2.4k☆
263
251
209
174
199
225
176
144
168
173
226
161
J
F
M
A
M
J
J
A
S
O
N
D
4
Deco IDE

Deco IDE

The React Native IDE
+1.1k☆
408
176
161
124
84
112
76
J
F
M
A
M
J
J
A
S
O
N
D

About IDE (Integrated Development Environment), it's worth to mention that 2 of the most popular IDEs are open-source projects made with web technologies.

VS Code

In our results, Microsoft leads the way with VS Code.

It provides a nice integration with TypeScript and node.js. Some developers mention improvement about development speed thanks to the IntelliSense feature (a mix of highlighting and autocomplete).

Saying "open source" and "Microsoft" in the same sentence is no more an oxymoron!

Atom

Atom, pushed by Github and built with Electron (like several other desktop applications, including the Slack desktop client) is not far behind VS Code. An interesting fact about Atom: its main language is CoffeeScript!

Static Site Generators

1
Hexo

Hexo

A fast, simple & powerful blog framework, powered by Node.js.
+5.9k☆
497
406
516
559
562
428
449
526
510
446
464
516
J
F
M
A
M
J
J
A
S
O
N
D
2
Gatsby

Gatsby

⚛️📄🚀 Blazing fast static site generator for React
+4.9k☆
112
235
211
182
126
175
1.3k
385
279
469
1.0k
382
J
F
M
A
M
J
J
A
S
O
N
D
3
Metalsmith

Metalsmith

An extremely simple, pluggable static site generator.
+1.2k☆
126
151
108
112
97
98
89
120
101
89
52
75
J
F
M
A
M
J
J
A
S
O
N
D

Static site generators (or "SSG") are tools that generate a bunch of .html, .css and JavaScript files that you can deploy on any simple web server (Apache or NGNX) without the fuss of setting up a database. As Gatsby web site says:

Build sites like it's 1995

Static web sites are fast, robust and easy to maintain.

SSG are very popular because there are a lot of very good solutions to host static web site for free:

Hexo

In 2016, the most popular SSG built with node.js was Hexo. It's a thorough SSG, close to CMS systems like Wordpress, that can be used to build a blog for example. It has a lot of features including an internationalization plugin.

Gatsby

The newcomer Gatsby is a very interesting solution, it stands out from its contenders because it uses React ecosystem to generate static html files. The fact that you can combine React components, Markdown files and server-side rendering makes it very powerful.

Conclusion

Despite the JavaScript fatigue™ and the dramas (remember the "leftpad gate"), 2016 was a great year for the community, with the rise of projects like Vue.js and React Native, and new projects like Yarn or Create React App.

We have been talking about projects that got traction on Github in 2016 but what really matters is developer's satisfaction. So if you want a more qualitative approach, check the results from Sacha Greif’s State of JavaScript survey. More than 9,000 responses were collected!


It's time to think about 2017, where are the next rising stars?

Here are my 10 picks of the year, the projects and the ideas I liked in 2016 and that will keep up growing in 2017:

  • Vue.js: the momentum will not stop
  • Electron
  • Create React App
  • React Native
  • Gatsby (used to build this page!)
  • Yarn: a fast, reliable and secure dependency management that can replace npm, you can read about the state of node.js package managers here
  • The concept of "Progressive Web Applications"
  • Node.js micro-services made easy to deploy with a hosting solution like Now
  • The evolution of Node.js: the latest releases support very well the ES6 syntax
  • And one more pick would be GraphQL: all my friends told me that something big is coming!

Thank you for your attention, feel free to share this article or to reach us on Github!

Authors

Sacha Grief
Author of Discover Meteor and creator of Vulcan, a React+GraphQL open-source framework.

Available Translations

中文

日本語