官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 萝北县| 新巴尔虎右旗| 安化县| 常熟市| 英吉沙县| 启东市| 潼关县| 武义县| 澜沧| 察雅县| 高雄市| 祁连县| 贵港市| 根河市| 盐池县| 红原县| 原平市| 华蓥市| 新营市| 清丰县| 合阳县| 霞浦县| 容城县| 柳江县| 阿瓦提县| 广东省| 新龙县| 延庆县| 石家庄市| 汕头市| 天柱县| 盐源县| 峨山| 长寿区| 泉州市| 天峻县| 米林县| 财经| 江华| 临沭县| 淮阳县|