The web development stack

A development stack is actually a very loosely defined term, which actually refers to the list of technologies and frameworks that you need in order to get an application up-and-running. It's called a stack because each layer is more and more abstracted from the user. Consider the example of the popular MEAN stack (MongoDB, Express, AngularJS, Node.js). If we were to actually make a physical stack out of these, it would look like this:

AngularJS is served by the Express server, which is run by the Node.js JavaScript runtime, which in turn is able to interact with the MongoDB database.

What's important to note is that as we move down the stack, each layer gets more and more inaccessible to the user of our application:

  • The user has full and uninhibited access to the frontend Angular code.
  • There is limited interaction with the Express server, normally through the use of HTTP requests that the server responds to.
  • There is no direct interaction between the user and the database or the node runtime. If you ever build an application where your users have direct access to your database, there are serious security concerns.

Let's take the example of the very application we are going to build with this book so that we can have some context to understand the web development stack better.

As with any generic stack, it's conventional to look at it from a top-down approach, that is, looking at each layer, starting from the one on top, and slowly uncovering the layers at the bottom. Let's follow this approach by analyzing what we require from the very first layer of our stack and working our way down to solve the challenges we face.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.128.30.77