JavaScript is one of the most popular language for front-end developers. While there are others languages too like CoffeeScript, TypeScript but nothing can beat JavaScript. Earlier JavaScript was widely used to front-end development but after the birth of Node.js, JavaScript is no longer just a front-end development language.
![](http://findnerd.s3.amazonaws.com/imagedata/8168/8168.png)
Writing back-end with JavaScript is no longer a rocket science for JavaScript developers. When writing a node.js application, the most common question is which framework we should use? In this blog, I will give you a brief description some of the Node.js frameworks.
1. Express.js
Express.js is one of the most popular framework for Node.js. it is server-side web and mobile application framework written in JavaScript. it builds single-page, multipage and hybrid web and mobile web applications, common back-end function for web applications and APIs. It supports the MVC architecture. It comes with two templating engines EJS and Jade. it is lightweight, fully-customizable, efficient middleware and routing framework which has a very little learning curve.
![](http://findnerd.s3.amazonaws.com/imagedata/8060/8060.png)
Image Source: https://expressjs.com/
Installation: - make sure you have node.js installed in your system go to the project directory and type command
npm install express
You can also use express generator to create complex application quickly. To install express generator use command:
npm install -g express-generator
Visit https://expressjs.com/en/starter/generator.html for more information on express generator.
2. Loopback
Loopback is one of the most famous node.js open-source framework which is extendable highly to accommodate changes. It do not restrict users you to create dynamic end-to-end REST APIs with very less or no coding. It is built on the top of express and compatible with Oracle, SQL, Mongo databases. Loopback adopts the convention over configuration. It has built-in models, RPC support, extensive documentation and also it is fully configurable when needed. When it comes to learning it can be a little complicated because there are so many moving parts.
![](http://findnerd.s3.amazonaws.com/imagedata/8061/8061.png)
Image Source: https://loopback.io/
Installation: - To install loopback use command:
npm install -g loopback-cli
Click here for how to start with Loopback.
3. Hapi.js
This one is another powerful framework of node.js web framework for building API (application program interfaces) for web applications and services. It have many features and some of them are it has configuration-based functionality, easy to implement caching and error handling, logging, validation etc. It also has a robust plugin system. It has granular control over request handling and a detailed API reference with support for documentation generation.
![](http://findnerd.s3.amazonaws.com/imagedata/8062/8062.png)
Image Source: https://hapijs.com/
Installation: - To install hapi.js use command:
npm install hapi
4. METEOR
Meteor.js is an open source, MVS framework for building web/mobile applications. It offers a full-stack solution for development and deployment of web applications. It is not only a JavaScript development framework but more then it as it is an Isomorphic Development Ecosystem (IDevE) using which one can create real-time web application from scratch.
Meteor.js is integrated with the Apache Cordova, AngularJS, React, and MongoDB. Having a high speed it also has several built-in features, like automatic CSS, reactive templates and JS minification on the production server and hot code reload along with it has a reactive programming model which allows creating web applications using less code.
![](http://findnerd.s3.amazonaws.com/imagedata/8063/8063.png)
Image Source: https://www.meteor.com/
Installation: -
curl https://install.meteor.com | /bin/sh
click here for full installation guilde.
5. KOA.js
Written by the same authors of Express, it is a lightweight, middleware node.js framework for building web applications and APIs. It looks very similar to express.js and relies less on middleware. Lets see how is KOA different:
Generated- based control flow
- No callback
- Better error handling through try/catch.
- No need for domains.
KOA is barebones
- Unlike Express, routing is not provided.
- It does not include any middleware.
- More modular
KOA abstracts node’s request/response
- Proper stream handling
- Less hackery
![](http://findnerd.s3.amazonaws.com/imagedata/8064/8064.png)
Image Source: http://koajs.com/
Installation:- Koa requires node v7.6.0 or higher for ES2015 and async function support. For installing KOA write command:
npm install koa
6. Derby.js
Derby.js is an MVC, client and server side JavaScript framework for building real time and collaborative application which runs on Node.js and browser also it is much similar to meteor and mojito.
Data syncing among database, server and browser with Derby.js is fun because it comes with a data synchronisation engine called Racer.
It has many features and one of the biggest feature of derby is server rendering that allows fast page loads, search engine friendly and support and have HTML templates to render in the browser or on the server.
It also has a components and view binding that allows us to organise code into components with HTML templates which is designer friendly and the live binding between the model and the view can be easily specified to update view instantly.
So, It will be correct to say that, it is a full sack framework which runs top of node.js in conjunction with mongoDB and Redis.
![](http://findnerd.s3.amazonaws.com/imagedata/8065/8065.png)
Image Source: http://derbyjs.com/
Installation: - click here for installation guide.
7. Sails.js
One of the most popular real-time time framework for building web application which sits on the top of express. It support data-oriented web app development "MVC pattern", which is implementing data-driven APIs for realtime applications. It has a lot of features including Auto generated API, Database ORM, Inbuilt Task runner, security code, Built-in web sockets in routes. if you are using mean stack you have to create API's manually but unlike MEAN stack, salis.js allows to automatically create skeleton APIs. It has a deafult task runner named Grunt and also gives/offers DB drivers for all vital database system including MySQL, MongoDB, PostgreSQL.
![](http://findnerd.s3.amazonaws.com/imagedata/8066/8066.png)
Image Source: http://sailsjs.com/
Installation:- run following command to install sails.js:
npm install -g sails
In order to create a new project use "sails create projectName".
8. Mojito
It's known as a Model-View controller framework inspired from yahoo!Cocktails, which was brought out by Yahoo! Developer Network as a JavaScript mobile- development platform. It touched skyrockted popularity in no time. It is well suited for creating high performing web application and mobile applications using HTML5, JavaScript. It can run on both the client side and server side.
It offers a lot of features some of them are
- local development environment and tools (Yahoo! Independent stack)
- Appropriate data fetching
- Integrated unit testing
- Library for simplifying internationalization & localization
![](http://findnerd.s3.amazonaws.com/imagedata/8067/8067.png)
Image Source: https://developer.yahoo.com/cocktails/mojito/
Installation: - To install mojito run command:
npm install -g mojito-cli
9. Socket.io
Socket.io is all about real-time applications and chat apps. The most amazing thing is that It is compatible with all pltforms, major browser and devices insuring impartial speed and trustworthy. It also enables real-time bidirectional event- based communication between client and server.
Socket.io offers a lot of features including:
- Reliability
- Auto-reconnection support
- Disconnection detection
- Binary support
- Simple and convenient API
- Cross-browser
- Multiplexing support
- Room Support
![](http://findnerd.s3.amazonaws.com/imagedata/8068/8068.png)
Image Source: https://socket.io/
Installation: - To install socket.io run command:
npm install socket.io
10. MEAN.io
MEAN stands for MongoDB, Express, Angular and Node.js. Mean.js and Mean.io are frameworks written by same authors, Mean.js is a fork of Mean.io which is also quiet popular.
Mean.io was written first. It is a fullstack JavaScript framework use to build web applications and gives a tough competition to Meteor. It uses a self-contained node packages with client and server files inside the modules. It is well suited for those who wants a quick start to develop node.js web application of any size and complexity.
![](http://findnerd.s3.amazonaws.com/imagedata/8069/8069.png)
Image Source: http://mean.io/
Installation: - To install mean.io run command:
npm install -g mean-cli
;
Hope you liked the article. Share your thoughts and opinions in the comment section below.
Also Read:
0 Comment(s)