TL; DR – Express is the biggest game in town by orders of magnitude. Early adopters are increasingly looking to Koa. Sails continues to grow in popularity.
Framework: ‘a basic structure underlying a system, concept, or text.’
We have recently looked at frameworks used with Java, and as we noted one of the factors which drives the popularity of a language is the availability of frameworks and tools which enhance developer productivity, something which Stephen O’Grady has covered in the past
We began our analysis by looking at the popularity of various frameworks on Github. Express emerged as the clear winner here.
Next we looked at download stats from npmjs.org.
Among the remaining frameworks we see the following breakdown of downloads.
Only a subset of the frameworks were represented on Twitter.
Commerical and Community Contributions to Individual Frameworks
Before we delve into the frameworks, we do have to note the outsized influence of TJ Holowaychuk on both Express and Koa. He accounts for 75% and 44% of the code changes in the respective projects. It is fair to say that Node.js adoption would be nowhere near the level it is without his contributions. For this analysis all of TJ’s contributions are marked as community.
Now while it is outside the scope of this analysis, it is impossible to talk about Express and not acknowledge the frustrations which emerged in the community in recent times, from the sale of the Express name to Strongloop, ultimately ending up in IBM, and a key maintainer leaving the project. There has been a defined drop off in commit activity over the last few years.
Ownership of Express moved from IBM to the Node Foundation in February of this year. As of now there has not been a noticeable uptick in activity.
The original team behind Express are now focused on the Koa framework. One of the key aspects of Koa is the decision to ditch callbacks in favour of generators. Now this impacts adoption in some unusual ways. For many developers coming to Node, callbacks were and are one of the more difficult concepts to understand, and people often end up in ‘callback hell’. The trade-off is once the investment has been made to learn an approach, e.g. callbacks, people are sometimes reluctant to move on.
Developers we speak to that are using Koa are very much in the early adopter area, but we do expect to see significant further growth in the usage of Koa.
Given our bias towards server side frameworks in this research, we debated including Sails as it is primarily discussed as a front end technology. However, Sails is reasonably widely used for creating REST APIs, hence its inclusion.
Loopback is the opensource basis for IBM’s API Connect product, and as you might expect IBM dominate the overall contributions to Loopback. Loopbacks focuses on making REST APIs easy to create and manage.
HAPI was originally created at Walmart, and is used in a number of large enterprises. There is still some growth in interest, and the community remains reasonably active.
During 2015 a number of the main project leads, who collectively account for almost 88% of the code contributions to HAPI, moved onto other roles from Walmart, and we have taken this into account in our analysis. The project leads have stated they will continue to remain involved in HAPI.
The Kraken framework was created at Paypal, and they remain by far the biggest contributor to the framework. The overall growth in interest appears to have tapered off at this point, as has them level of contributions from Paypal
Feathers is included here due to the spike in interest we noted in early 2016. We have heard of some usage for the generation of “real-time” REST APIs using the framework.
Commercial Support & Licensing Information
|HAPI||None||Modified MIT (not clearly stated)|
Notes on the analysis
- Data was pulled to the end of August
- Where possible we have identified commercial contributions to a project, but there will be some minor gaps and inaccuracies in this mapping.
Disclaimers: Meteor and IBM (owners of StrongLoop) are RedMonk customers.