Web项目开发为何要走前后端分离模式?

Web项目开发为何要走前后端分离模式?,第1张

把前端与后端独立起来去开发,放在两个不同的服务器,需要独立部署,两个不同的工程,两个不同的代码库,不同的开发人员,前后端工程师需要约定交互接口,实现同步开发,开发结束后需要进行独立部署,前端通过接口来调用调用后端的API,前端只需要关注页面的样式与动态数据的解析和渲染,而后端专注于具体业务逻辑。具体好处有以下几点:

1彻底解放前端

前端不再需要向后台提供模板或是后台在前端html中嵌入后台代

2提高工作效率,分工更加明确

前后端分离的工作流程可以使前端只关注前端的事,后台只关心后台的活,两者开发可以同时进行,在后台还没有时间提供接口的时候,前端可以先将数据写死或者调用本地的json文件即可,页面的增加和路由的修改也不必再去麻烦后台,开发更加灵活。

3局部性能提升

通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有的资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。

4降低维护成本

通过目前主流的前端MVC框架,我们可以非常快速的定位及发现问题的所在,客户端的问题不再需要后台人员参与及调试,代码重构及可维护性增强。

5实现高内聚低耦合,减少后端(应用)服务器的并发/负载压力。

6即使后端服务暂时超时或者宕机了,前端页面也会正常访问,但无法提供数据。

7可以使后台能更好的追求高并发,高可用,高性能;使前端能更好的追求页面表现、速度流畅、兼容性、用户体验等。
我理解的前后端分离,前端是需要起服务器的,减少学习成本,可以用node,前端也要有域名的
如果是半分离, 那么前端提供js文件(css等)这个我也做过,前后端都用node就不说了,如果是两种语言,

如果一个工程文件下开发,webpack下直接打包进后台语言的静态目录下。

如果是两个工程,那么前端只提供生成的js(css)文件,git pull后台项目,扔进静态目录,这样又涉及到版本控制的问题,一般我会生成一个配置文件,直接读取的,内容是xxxhashjs这种文件名,然后documentwirte动态写入js/css
前端起服务器就不需要动态引入了,直接html插件生成文件,更好的控制版本
半分离 还有一个问题,例如首页同构,如果更改xxxbladephp文件,这就又动了php文件,甚至包括nginx反向代理啊,ssl这种缓存啊,都比较麻烦,你要是改了点啥,自己的ok了,后台的崩了,那就挺 *** 蛋了,大公司有专门的运维还好,小公司真的是一团糟

后台我们采取全分离,nginx前端管理,至于升级nginx版本,>计算机编程中的前端是指系统界面、ui交互等工作,而所谓后端是指数据存取、逻辑处理等等。简单理解前端就是肉眼可见的界面,而后端就是指不可见的后端服务。
前台一般是指前台应用,理论上整个用户端都可以称为前台。后台则是指管理端,一般是管理员用于系统管理的。
C语言既可以做前台也可以做后台。常规语言都是既可以做前台也可以做后台,不存在只做前台或只做后台之说。倒是有些语言多用于前端制作。

是的,后端,也称为“服务器端开发”,也就是在系统“后面”所发生的事情。同样,在后端服务器和浏览器或应用程序之间存储网站、应用数据和中间媒介的服务器都属于后端。简单来说,在应用程序或网站的屏幕上看不到的所有东西都是前端的后端。

前端称为“客户端开发”,简单来说可以在应用程序或网站的屏幕上看到的所有内容都属于前端。比如正在访问的网站,内容设计、图像、段落和线条之间的间距,左上角的公司徽标,以及右下角的小通知按钮——所有这一切都是前端。

前端和后端的区别

(1)展示方式

前端指的是用户可见的界面,网站前端页面也就是网页的页面开发,比如网页上的特效、布局、、视频,音频等内容。前端的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页,并配合后端做网页的数据显示和交互等可视方面的工作内容。

后端是指用户看不见的东西,通常是与前端工程师进行数据交互及网站数据的保存和读取,相对来说后端涉及到的逻辑代码比前端要多的多,后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。

(2)知识结构

在知识结构方面,前端开发涉及到的内容包括Html、CSS、JavaScript、Android开发(采用Java或者kotlin)、iOS开发(采用OC或者Swift)、各种小程序开发技术(类Html),随着前端开发任务的不断拓展,前端开发后端化也是一个较为明显的趋势,比如Nodejs的应用。

后端开发通常需要根据业务场景进行不同语言的选择,另外后端开发的重点在于算法设计、数据结构、性能优化等方面,在具体的功能实现部分可以采用Java、Python或者PHP等编程语言来实现。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13480094.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-15
下一篇 2023-08-15

发表评论

登录后才能评论

评论列表(0条)

保存