The 10 hottest JavaScript framework projects

Here's a close look at the activity swirling around AngularJS, Backbone.JS, Ember.js, and more

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.

[ How much do you know about this stalwart developer tool? Find out in InfoWorld's JavaScript IQ test. | Work smarter, not harder -- InfoWorld has the tips and trends programmers need to know in the Developers' Survival Guide. | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]

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 topThis 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 contributorsExploring 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.

Project contributors per month: The number of contributors to Ember took off like a rocket when the project was forked from SproutCore in December 2011. Google's AngularJS has also seen rapid growth.

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 contributorsLooking 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.

Project contributors over project lifetime: AngularJS and Ember show the largest overall communities, which mirror their recent monthly contributor growth.

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.

Ecosystem projectsBeyond immediate contributors, the strength of a project's community is evident from ecosystem projects that extend and are built upon them. This demonstrates that the core project community alone doesn't always tell the whole story of a project's momentum. Looking more broadly at the ecosystem can further describe the overall success of an individual project.

Number of related projects: The robustness of an open source project can in part be measured by the number of projects surrounding it. Here, Backbone.js and AngularJS are the clear winners.

Notably, Backbone has a substantial ecosystem, showing its overall momentum and usage in the industry. In an effort to further validate the Backbone ecosystem, I filtered my search to include only Backbone-related projects that have three or more stars on GitHub, which resulted in 1,627 projects. Compare this with 794 AngularJS projects with more than three stars, and Backbone's ecosystem is still two times the size of AngularJS's.

Full-stack solutionsBecause the full-stack solutions have a different scope than many of the other projects, I wanted to take a separate look into their growth. Full-stack solutions include both a client framework and a server-side framework; hypothetically, the amount of code involved should be greater, as should be the number of contributors participating over time. The chart indicates each of these projects is in a relatively early stage with moderate participation.

Number of full-stack solutions: Meteor and Mojito appear to be attracting a stronger community, at least as measured by the number of contributors.

The rise of JavaScriptThe number of developers who invest time and create structured approaches to using JavaScript is growing at a rapid rate. The chart below shows the increasing, cumulative number of developers contributing since the beginning of 2011. This reflects the mounting importance of UI frameworks in today's application development and the continuing need for different approaches supporting the needs of the many different use cases across companies of all sizes. There was a notable jump in contributions starting in January of this year, primarily driven by the growth in the AngularJS and Ember teams.

Total number of contributors for all 10 JavaScript projects: If you have any doubt, this chart will convince you that JavaScript is eating the world, with the average number of developers more than doubling from 2011 to 2013.

Lines of code and commitsYou may be left wondering about the size of the code bases for each of these projects -- and the relationship between that number and the number of contributors. Comparing these, we see that community size and total commits have little correlation to the size of the code base. For example, AngularJS shows a ratio of 413 LOC per contributor while Ember shows a ratio of 146 LOC per contributor.

Line of code vs. contributors: More lines of code per contributor may indicate that a project is easier to contribute to, which some see as an indicator of a project's health.

You can, however, correlate the size of the community (all-time contributors) with the all-time number of commits and see that the number of commits per contributor varies greatly by project. This may show that some projects are easier to contribute to, affecting their long-term sustainability.

Reading the tea leavesCommunity size and growth are important indicators of a project's momentum. While these indicators can't tell us the whole story, they provide important insight into projects that are being heavily invested in and help us make decisions based on the viability and sustainability of the community behind a project. They can also aid us in finding tipping points in a project's life span, providing us with opportunities to both engage in projects and influence change.

The subject of rich UI frameworks is near and dear to me, as I spent five years at Adobe driving product marketing for the Flex framework, now an Apache project. Based on all the data analyzed here, my take is that Ember and AngularJS are emerging as the frameworks to watch. That said, the ecosystem surrounding Backbone demonstrates both the popularity and commitment to this UI approach, and is therefore sure to have a continuing, bright future ahead.

This article, "The 10 hottest JavaScript framework projects," was originally published at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

Read more about application development in InfoWorld's Application Development Channel.

Tags application developmentapplicationssoftwarejavascriptopen source software

More about AdobeApacheBackboneGoogleYahoo

Comments

Comments are now closed

Government pushes website blocks to fight piracy

READ THIS ARTICLE
DO NOT SHOW THIS BOX AGAIN [ x ]