JavaScript is an open source, platform independent, object-oriented scripting language which uses HTML(hypertext markup language) and CSS(cascading style sheet) to design interactive websites and is highly used by web developers. It is supported to various browsers from Mozilla Firefox to Netscape. Though explorer supports only a subset, which Microsoft calls Jscript.
Sometimes readers/student muddle JavaScript with Java because of its name. In fact, the most common question asked by readers who approaching JavaScript is: “Is JavaScript and Java are the same thing?”, and the answer is no,they are not. Clearing up this simple yet very important question, let’s have a look at the key difference between JavaScript and Java;
Java was developed by Sun Microsystems and much more complex programming language. While JavaScript was introduced in the year 1995, created by Brendan Eich at Netscape under the name LiveScript. However it was quickly renamed to JavaScript, although JavaScript’s official name is ECMAScript, which is maintained by international organization known as ECMA (European Computer Manufacturer’s Association).
JavaScript supports to different frameworks for creating web application. Among those Express.js is one the best framework for developing web applications. Expressjs is a web framework for Node.js designed for building single-page, multi-page, and hybrid web applications. Expressjs is a lightweight, meaning it is very accurate and does not give you too many assumptions to avoid re-generating the wheel. So before starting with express.js, we give you the basic idea about node.js
Node.js is free and platform independent, provide runtime environment for creating server side web applications. It is designed to check progress and scalability of an application on web server. Node.js can be executed in any operating system. Different frameworks are available for different requirements. One of the widely used framework for node.js is Express.js and the latest version is upgraded to Express.js 4.0. So keeping in mind the popularity of Express.js, we bring you the list of upgraded features and functionality in Expressjs 4.0.
1) Routing
The Express team renewed and refurbished the router to make it more robust. The changes will help you in using functions like get or use or any other http function. App.router () had been removed and there is no need to call it manually. Combining .use () and .verb () will execute in the order they defined. Route files were already pretty clean in version 3.0 but express 4.0 gives more flexibility when we declare our routes and it gives us some new options. EXPRESSJS 4.0 is now updated with route () method. Now we can call http verbs and middleware can be added to this particular route.
2) Express generation
The express command has been renamed to express-generator to quick start project generator.
3) Removed Bundled Middleware
The bundled middleware with Expressjs are the elements we use to configure our application. Elements like body parser, cookie parser, session, and others. They were removed in Expressjs 4.0 modules so that they could receive updates, fixes, and releases without effecting the main Expressjs release cycles. In Expressjs 3.0 application, app.configure () is required to set up the middleware. App.configure () is no longer presented in express.js 4.0, it just use a simple “if statement”.
This is also the most discussed topic on the social networking websites. Developers still not sure whether it’s a good decision or not, because no one is interested to declare extra dependencies. However, arguments/discussions are going on the internet for unbundling as well, including things like upgrading middleware packages independently, keeping the Express.js module small, etc.
So what is unbundled middleware? Can you recall the magic middleware app.use (express.middlwarename ())? Well, they were calling from the library and now they are no more part of Express.js. It was compulsory to write, app.use (express.cookieParser ()) in Express.js 3.0. These functions were important for any web application.
But Express.js 4.0 doesn`t depend on connect. This means that if someone want to use it they need to explicitly include middleware like this:
Express 3.0 Module Express 4.0 Module
1.BodyParser | body-parser |
Json | body-parser |
Urlencoded | body-parser |
compress | compression |
timeout | connect-timeout |
Cookie Parser | cookie-parser |
Cookie Session | cookie-session |
Csrf | Csurf |
error-handler | Errorhandler |
session | express-session |
method-override | method-override |
logger | Morgan |
response-time | response-time |
directory | serve-index |
static | serve-static |
favicon | static-favicon |
Vhost | Vhost |
4) Node 0.8. Support
Node 0.8 is no more supported in Expressjs 4.0
5) Minor changes and improvements
There are some more minute changes that have been done in Express 4.0 like: req.params () is now an array rather than an object. Earlier there some problems with req.params () being an array, which you can find in Express.js 4.0, no modification with req.dasda (). Req.locals has been changed to object, instead of a function. Res.type or res.set are used to assign headers, Use of express () instead of express.createServer ().
Selecting right framework for web development is a very important decision. This article help you in better understanding of Expressjs 4.0 and its new features! We have listed few yet very important modification that have been done in Expressjs 4.0. We are sure, you have some good points to add to this list. Feel free to leave a comment below to let us know of some remarkable changes to learn more about Express.js 4.0.