Blogs

RedMonk

Skip to content

React and Polymer arising among JavaScript MV* frameworks

A while back, I started looking into JavaScript MV* frameworks. My colleague James often says we could have full-time work only making recommendations for the correct JS framework for a given week.

While I don’t have the time remaining at RedMonk to do a truly in-depth analysis, I did want to post a quick hit with some stats and conclusions.

This analysis began by pulling a list of frameworks from the excellent TodoMVC, because as we all know, if it doesn’t work well for a todo list, it clearly can’t handle a larger app </sarcasm>. But I had to start somewhere, so start I did.

I first took a look at Stack Overflow and plotted tags referencing any of these frameworks over time (click to embiggen/focus):

stack_overflow_mvc

I was frankly shocked by the overwhelming dominance of Angular.js. Although it’s well-known that Angular is quite popular, this is nearly absurd. It’s so popular that it’s impossible to even see trends in the other frameworks.

So I next removed Angular from the comparison and plotted everything again (click to embiggen/focus):

stack_overflow_mvc_no_angular

This produced some more broadly useful results. Frameworks tended to segment into a couple of main tiers, with few exceptions.

Tier 0

  • Angular.js

Tier 1

  • Ember.js (note more recent and continued growth; this is top-ranked outside of Angular)
  • Knockout (trending downward)
  • Backbone.js (trending downward)
  • Kendo UI
  • Ext JS
  • Dojo (barely)

Tier 2

  • YUI
  • PureMVC
  • Sammy.js
  • Enyo
  • Agility.js
  • CanJS
  • Stapes.js
  • SAPUI5 (OpenUI5) —There are strong hints that this may be rising out of the pack as well, see graph below
  • vue.js
  • SproutCore
  • Durandal

Rogues

  • React
  • Polymer

Being RedMonk, we’re typically on the lookout for new, emerging technologies, so the rogue behavior of React and Polymer is of particular interest. They’re separately plotted here, in addition to SAPUI5/OpenUI5 (click to embiggen/focus):

Stack Overflow: React, Polymer, SAPUI5

Looking at up-to-the-minute information suggests that Polymer may have stalled out for the time being, while React continues to grow. This is in keeping with anecdata from the (far too many) conferences I attend, where I hear increasingly often about React but very little Polymer. Another surprise is SAPUI5/OpenUI5, which is one worth tracking in the future.

Regardless — in terms of new and emerging JS frameworks, those are ones to watch out for.

Update (2015/04/03): Added notes on SAPUI5/OpenUI5.

Disclosures: SAP is a client. Google (Angular, Polymer) and Facebook (React) are not.

by-sa

Categories: javascript.

  • https://github.com/kjokinen Kimmo Jokinen

    Thanks for good work!

    Any chance you could arrange the frameworks in the legend by their popularity? Now it’s pretty hard to differentiate frameworks with similar colors in the chart.

  • http://heavyhorse.github.io/ Emran Talukder

    you will undoubtly see an upward trend with React and downward trend with Backbone. React solves all the same problems and JSX+virtual dom is really great once you sit down and learn it. Angular will start tapering off with the release of Angular 2 since people invested so much time learning the quirks of Angular1. React+Flux architecture is awesome and with Browserify becoming one of the best build tools for front-end, we will see some serious growth. I applaud your curiousity, because it is so important to see the landscape and understand what its made up of. cheers!

  • Greg

    Statistics and lies 🙂 Seems to me measuring popularity of anything via StackOverflow is inherently flawed. It is only an indication of what topics are at the root of most questions, which to at least some extent means which things people are having the most trouble figuring out. Given the breadth of Angular it’s not surprising that it generates more questions than say Knockout, particularly on a new version release. Of course measurement options may be limited and fair enough, its a rough idea but especially in comparing the lesser lights against each other I’d suggest that the results be viewed as circumstantial.