Vue知识总结(三)

170 阅读3分钟

本文已参与【新人创作礼】活动,一起开启掘金创作之路

前后端分离

1. 什么是前后端分离

” 前后端分离 “已经成为互联网项目开发的业界标杆,通过 Tomcat+Ngnix(也可以中间有个 Node.js),有效地进行解耦。并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS 等等)打下坚实的基础。

前后端分离 (解耦) 的核心思想是:前端 Html 页面通过 Ajax 调用后端的 RestFul API 并使用 Json 数据进行交互。

注:【在互联网架构中,web 服务器:一般指像 nginx,apache 这类的服务器,他们一般只能解析静态资源。应用服务器:一般指像 tomcat,jetty,resin 这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有 web 服务器好。】

2. 为什么要前后端分离

一般公司后端开发人员直接兼顾前端的工作,一边实现 API 接口,一边开发页面,两者互相切换着做,而且根据不同的 url 动态拼接页面,这也导致后台的开发压力大大增加。前后端工作分配不均。不仅仅开发效率慢,而且代码难以维护。

而前后端分离的话,则可以很好的解决前后端分工不均的问题,将更多的交互逻辑分配给前端来处理,而后端则可以专注于其本职工作,比如提供 API 接口,进行权限控制以及进行运算工作。而前端开发人员则可以利用 nodejs 来搭建自己的本地服务器,直接在本地开发,然后通过一些插件来将 api 请求转发到后台,这样就可以完全模拟线上的场景,并且与后台解耦。前端可以独立完成与用户交互的整一个过程,两者都可以同时开工,不互相依赖,开发效率更快,而且分工比较均衡。

3. 前后端分离的优势

1、可以实现真正的前后端解耦,前端服务器使用 nginx。
2、发现 bug,可以快速定位是谁的问题,不会出现互相踢皮球的现象。
3、减少后端服务器的并发 / 负载压力
4、即使后端服务暂时超时或者宕机了,前端页面也会正常访问,只不过数据刷不出来而已。
5、页面显示的东西再多也不怕,因为是异步加载。
6、nginx 支持页面热部署,不用重启服务器,前端升级更无缝。
7、增加代码的维护性 & 易读性(前后端耦在一起的代码读起来相当费劲)。
8、提升开发效率,因为可以前后端并行开发,而不是像以前的强依赖。
9、前端大量的组件代码得以复用,组件化,提升开发效率,抽出来!