This past week, ExpressJS, the incredibly popular Node framework was transferred to a company called StrongLoop. Express, known as the “E” part of the MEAN stack has been a foundation for many Node applications. The transfer of the Express repo by TJ Holowaychuk (visionmedia) to StrongLoop, has left many wondering about the future of Express.
This article won't go into the intricacies or make assumptions on the facts of the sponsorship/sale of Express. There have been arguments against the sale and TJ has made his thoughts on the subject clear. TJ has recently decided to shift his focus on contributing to the Golang community so transferring Express to a company that is heavily invested in Node is a logical decision.
We'll be looking at what the future plans for Express are and will also showcase some of the alternative web frameworks that the Node community has to offer.
The Future of Express
StrongLoop are the creators of LoopBack, an open-source Node.js framework built on top of Express. They are contributors to the Node ecosystem and have plans to continue the development of Express. From the initial post announcing the news, it appears that StrongLoop will not change too many things about how the Express project is maintained, but as they are the owners of the project now, they will have major influence regarding the future of the framework.It is still way too early to make any judgments on how StrongLoop will influence Express but I expect in the next 6 to 12 months we will have a clearer picture on where Express is headed.
We have written extensively about Express and the MEAN stack in general, but now is a good time to look at the wider Node ecosystem and expose you to what else is out there. Express as a framework is not going away anytime soon.We will continue writing articles that focus on Express and MEAN, but want to make our readers aware of the Node ecosystem at large. Let’s dive in!
Alternatives to ExpressJS
Koa is a new web framework developed by the original team behind Express. Philosophically, Koa aims to "fix and replace node", whereas Express "augments node". Koa is much smaller than Express in scope and functionality but has a solid team of contributors behind it.
Pros of Koa
- Koa and Express syntax is similar thus allowing the transition from Express to Koa much easier.
- Many modules that were designed for Express, will work with Koa.
- Koa is barebones, which gives experienced developers much more control over implementation of key features, such as the router.
Hapi is “a rich framework for building applications and services.” HapiJS comes out of the Walmart Labs group and is a very stable framework for building NodeJS applications. Hapi has garnered the attention of major brands including PayPal, Beats Music, Mozilla and others. The HapiJS API is mature, battle tested and offers all the major functionality you would expect from a web framework out of the box.
Pros of Hapi
- Proven, battle-tested framework. If you needed evidence that NodeJS belongs in the Enterprise, look no further than HapiJS.
- Structurally designed for large teams to work together and implements very good separation of concerns patterns.
- Hapi is fundamentally different from Express, so while it may be the hardest framework to transition to from Express, it will give a new perspective to NodeJS app development.
Restify “is a node.js module built specifically to enable you to build correct REST web services.” This is a micro-framework that is influenced by Express, but focuses primarily on giving you the tools to build and expose an API Service. It is much lighter on the breadth of features, but the features that it does support are supported much more deeply.
Pros of Restify
- Restify is an excellent framework for building API Services.
- As it is designed for solely building API Services, Restify allows for full control over HTTP interactions.
- Restify borrows heavily from Express, so should make transitioning from Express simple.
The transfer of an open source project to a corporation is always met with skepticism and FUD. Some of it deserved, most of it not so much. Express is an excellent web framework and we expect StrongLoop to improve it even further. Express is a vital player in the Node community and is here to stay.We introduced you to a few new web frameworks today: Koa, Hapi and Restify. While MKAN, MHAN, and MRAN are not nearly as catchy as MEAN, they provide a great set of features for their particular use cases and we hope to bring you some great tutorials on building applications with them.
Let us know which sounds most appealing to you in the comments and we'll write up some articles and tutorials for them.