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

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.

主站蜘蛛池模板: 罗城| 镇宁| 金塔县| 邵武市| 枝江市| 上高县| 温泉县| 曲松县| 蒙山县| 大田县| 乌兰察布市| 枣阳市| 司法| 搜索| 珠海市| 朝阳县| 荣昌县| 河西区| 三明市| 龙里县| 江源县| 大田县| 浪卡子县| 南城县| 电白县| 敦煌市| 阿坝| 永顺县| 隆林| 广灵县| 永丰县| 陆川县| 湖南省| 毕节市| 交城县| 江源县| 凉城县| 东乌珠穆沁旗| 高要市| 桂东县| 衡东县|