Javascript Library and Framework Trends


In the past few years we have all witnessed an absolute explosion of Javascript frameworks. Gone are the days when a developer simply had to worry about .NET versus Java. Web development has moved to the client side, and with it came a great increase in tools and libraries, many of them free open source libraries found on large repo containers like Github.  There is only so much time in a day, I simply cannot spend all of it trying to keep up with all the JS craziness.  Sound familiar?

During 2015 I have used Github as a gauge to see which frameworks are getting more traction in the industry and what tools are worth spending time on.

As you probably know, Github uses the “Watch”,  “Star” and “Fork” counters on a repository to show the community interest levels. Starring a repository allows you to keep track of projects that you find interesting, even if you aren't associated with the project. When you watch a repository, you get notifications for any new pull requests and issues that are created. And of course a fork is an entire “personal” copy of the repo.

The statistics in this post are entirely based on personal preference. If you don’t see your favorite framework please don’t be offended.

Here is a the list of the items I have tracked along with their age.   Age is actually an important factor as we will see later, even in the volatile world of javascript tools.  

Framework/Tool

Years

Angular1

7

Backbone

6

Knockout

6

Meteor

5

Ember

4

TypeScript

4

Marionette

4

Polymer

3

React

2.6

Angular2

1.3

React Native

0.75


Given that list of items, here are the Github statistics indicating interest levels in July 2015

Watch

Star

Fork

Angular1

3871

41759

18417

React

1941

26586

3935

Meteor

1640

27425

3125

Backbone

1639

22743

5072

Ember

1127

14550

3116

React Native

900

13702

1503

Polymer

806

9738

897

Angular2

708

4822

1271

Knockout

589

6667

1150

TypeScript

583

6370

704

Marionette

422

6407

1267

Angular1 has the lead. No surprise there. But look at 2nd place – React has a little more than 50% of the level of watches and stars.  That is remarkable. Especially when considering that React is 2.6 years old versus 9 years for Angular.

Now look at the same picture 6 months later – as they say “ a rising tide lifts all boats”…. The snapshot confirms the premise that Javascript continues to get more and more traction everywhere. And overall Angular1 continues to lead, but notice that at this point React Native has moved up to 4th place.

Watch

Star

Fork

Angular1

4112

45323

20877

React

2459

33282

5340

Meteor

1804

30762

3650

React Native

1700

24246

4053

Backbone

1682

23741

5321

Ember

1157

15346

3306

Angular2

1035

7560

1974

Polymer

995

13632

1358

TypeScript

733

8303

982

Knockout

600

7034

1191

Marionette

429

6648

1321

Things get even more interesting when we switch to calculate percentage increases, instead of looking at the raw numbers

Watch

Star

Fork

React Native

89%

77%

170%

Angular2

46%

57%

55%

React

27%

25%

36%

TypeScript

26%

30%

39%

Polymer

23%

40%

51%

Meteor

10%

12%

17%

Angular1

6%

9%

13%

Ember

3%

5%

6%

Backbone

3%

4%

5%

Knockout

2%

6%

4%

Marionette

2%

4%

4%

The level of interest in React Native is absolutely white hot. The intersection of web based technologies and mobile development are key areas – with native or near native performance being the holy grail.      ( https://facebook.github.io/react-native/docs/performance.html )

Looking further down the list, the gains of Angular 2 and Typescripts are certainly noteworthy.  While I am not against Angular itself, in the back of my mind I keep thinking that Google has not used it in similar key production areas as Facebook did with React. Although based on AngularConnect that may be changing. At the moment Facebook is dogfooding its tools at a much higher rate than Google.

Typescript’s advances portends good things.  Angular 2 is built with it, which helped the TS adoption rate. Personally, all I needed to know was that Anders Heijlsberg is in charge of this project. If you work in .NET, you are using standing on Anders shoulders. He is one of the most accomplished engineers of our time ( https://en.wikipedia.org/wiki/Anders_Hejlsberg ). If you are not familiar with TS, I recommend taking a look. It is framework agnostic and can work with most all of the libraries.

Is there a conclusion here ?  Well for starters we see how insanely fast our industry is changing. React went from next to nothing up to challenging the top position in no time at all.  And React supports a different design philosophy than Angular (or Meteor or Ember for that matter)

Depending on whom you talk to, React may have already won.  Nicolás Bevacqua published a survey of 5000 javascript developers in November. Here are his results. Having one tool family capable of dealing with desktop and mobile devices is certainly a big consideration.

React

57.60%

AngularJS

47.80%

Backbone

22.80%

Other

10.60%

Ember

7.50%

Knockout

7.20%

Polymer

6.70%

Mithrill

2.00%

Aurelia

1.80%

Ampersand

1.40%

Flight

0.60%


Tags: Uncategorized;

SEARCH ARTICLES