Express describes itself as a fast, unopinionated, minimalist web framework for Node.js. Express is a very powerful and flexible framework that operates on top of Node.js, but still allows you access to all of the features of Node. At its core, Express operates as a set of routing and middleware functionality.
We'll get into routing and middleware in detail in later chapters. Basically, routing handles web requests. Middleware consists of functions that have access to the request and response objects and call the next piece of middleware in the stack.
If it's so easy to just throw up a web server using Node,js, why do we need something like Express?
The answer is, you don't. You could, all on your own, build a fully featured web application by just writing your own Node.js. Express has done a lot of the grunt work and heavy lifting for you. Because of the middleware that's easy to plus into Express, adding things such as security, authentication, and routing is...