Trying to decide which JavaScript UI framework will best meet the needs of your project and organization? With 10 strong contenders, there's a lot to consider.
Over the past few years we've seen tremendous growth in UX libraries and frameworks -- most of which are open source. Much has been written comparing the use of, approach to, and completeness of these frameworks. But often overlooked are the metrics tracking the size, strength, and momentum of the communities and ecosystems surrounding these open source projects. These stats should play a key role in your selection.
Earlier this year, I had the opportunity to do an analysis of the fastest-growing open source projects started in 2012, and I was struck by the number of JavaScript projects on the list. This caused me to take a deeper look into specific JavaScript library/framework projects that focus on helping developers build rich, scalable user interface. My analysis uses open source community metadata from Ohloh.net and incorporates data from GitHub, including the number of stars (which helps users track repositories they find interesting) and followers individual projects have attracted.
Which projects rose to the top
This analysis digs into the communities behind the top 10 open source projects spanning UI libraries, frameworks, and full-stack frameworks that include server-side runtimes. The projects in my analysis are today's hottest UI projects, including AngularJS, Ember.js, SproutCore, Backbone.JS, Knockout.js, Spine, CanJS, Meteor-JS, Derby, and Yahoo Mojito.
My goal was to paint a picture of the communities surrounding these projects, specifically looking at size and growth, in an effort to correlate the data against the popularity and success of individual projects. Also included is a look into the ecosystem surrounding each project, with the assumption that the ecosystem further reflects the popularity and success of a project.
Monthly contributors
Exploring the number and growth of monthly contributors for a project provides insight into the project's momentum and can highlight critical tipping points for projects that are capturing broad industry interest. The chart below tracks monthly contributor participation. This statistic shows the number of developers who have contributed code in a given month.
As you can see, SproutCore was the early front-runner in monthly contributor participation. However, when SproutCore forked to create Ember in December 2011, many developers on the team moved along with it, jump-starting Ember. Now Ember, along with AngularJS, has seen significant monthly contributor growth in 2013, both emerging as leaders from an overall community growth perspective. Also note that in the spring of this year, active contributors to Backbone and Meteor dropped off significantly concurrent with the accelerated growth of AngularJS and Ember.
All-time contributors
Looking at total lifetime contributors for a project can help us understand a few different points. For one thing, it often reflects the governance style of a project. Many projects are tightly managed by a small group of people, while others open up contributions to a wide and diverse audience.
The number of all-time contributors can also help us understand the relative momentum of a project at any given time. Large, well-established projects can often have significant numbers of contributors, helping fix bugs, contributing to documentation, and other related tasks. The total number of contributors can also often be associated with the overall size of the code base. This metric is typically most valuable when combined with other community metrics, such as lines of code, total commits, and monthly commits.