说明:
(1)本篇博客内容,简单介绍【传统开发模式】和【前后端分离开发模式】;分析【前后端分离开发模式】的优点;
传统开发模式;
说明:
(1)传统模式中,前端和后端是在一起的,前端和后端也是部署在同一个服务器上的;
(2)对于前端的JSP(PS:也可能是其他模板引擎)就是在服务器上进行渲染,然后再回传给浏览器;
(3)即,【前端和后端都部署在同一台服务器】+【前端页面是在这台服务器进行渲染的】:那么如果用户请求两很大的话,那么服务器的压力就会很大;(不仅仅前端页面的渲染压力,更是传输前端页面的带宽压力)
(4)所以,目前传统的开发模式已经很少采用了;
前后端分离的开发模式;
说明:
(1)前后端分离模式中,前端和后端分别开发,分别部署;;;前端(包括HTML、JS、CSS这些)是在Nginx中去部署的;;;后端是在另一台服务器(或服务器集群)部署的;
(2)如果,用户使用浏览器来访问我们的系统,其就会进入【部署了前端的nginx服务器】,然后nginx服务器中的前端,就会向“部署了后端的服务器”发起请求;;;请求方式一般是Restful(对于springcloud是RESTful,对于Dubbo就是RPC了),数据载体一般是JSON;
(3)如果,用户使用手机上的小程序来访问我们的系统,那么手机上安装的这个小程序就可以认为是前端(这个理解,存疑),然后其就会直接访问“部署了后端的服务器”;
(4)对于我们后端来说,我们只要开发一套接口,就可以同时为【H5】和【iso/android/小程序】提供服务;
(5)几点附加说明:
● 前后端分离,可以有效解耦,提高开发效率;前后端分离后,前后端职责清晰明确,可以防止前后端开发者互相甩锅,帮助精准定位bug;
● 附加:H5前端可以运用MVVM模式;
● 因为前端我们利用nginx来部署,所以前端的内容也可以使用热部署;