ExpressJS vs hapi: What are the differences?
ExpressJS: Sinatra inspired web development framework for node.js -- insanely fast, flexible, and simple. Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications; hapi: Server Framework for Node.js. hapi is a simple to use configuration-centric framework with built-in support for input validation, caching, authentication, and other essential facilities for building web applications and services.
ExpressJS and hapi can be primarily classified as "Microframeworks (Backend)" tools.
"Simple" is the primary reason why developers consider ExpressJS over the competitors, whereas "Makes me Hapi making REST APIs" was stated as the key factor in picking hapi.
ExpressJS and hapi are both open source tools. It seems that ExpressJS with 44.6K GitHub stars and 7.48K forks on GitHub has more adoption than hapi with 11.3K GitHub stars and 1.16K GitHub forks.
Twitter, Intuit, and OpenTable are some of the popular companies that use ExpressJS, whereas hapi is used by Hazeorid, Kanteron Systems, and Slickage Studios. ExpressJS has a broader approval, being mentioned in 854 company stacks & 788 developers stacks; compared to hapi, which is listed in 58 company stacks and 34 developer stacks.
What is ExpressJS?
What is hapi?
Want advice about which of these to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using hapi?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Express.js is the workhorse of the Cloudcraft.co backend. It's not the most exciting part of a stack, but it works, is very well documented, and you can find a plugin for almost everything you could possibly want. We also carefully evaluated Koa.js, but decided not to go down this route: fewer plugins, less documentation & answers online. I'm also not personally convinced by the generators yield syntax at all. ES7 async functions looks like a much better bet, and with Promises and Babel I can have that already today.
I use express.js for nightly.zerotoherojs.com and dojo.zerotoherojs.com web apps.
Express is well-known, lightweight, works out-of-the-box, has great middleware support and has minimal learning curve.
It is the best framework to start developing a general Node.js web app.
I'm fluent in ExpressJS, but over the past two years I have moved to HapiJS. Similar results, but I find Hapi to be more full-featured towards my app, api and service needs. I can operate confidently in both.
PrometheanTV utilizes the ExpressJS web application framework to deploy various web applications and services including the Broadcast Center Tool, our video embed service, and our REST API.
We rely on ExpressJS to serve our content simply, easily, and effectively, without the bloat-ware. Big thanks to StrongLoop for supporting this package.
Serves static content. Was added to make it more easy to transition to serverside view templating and API.