网站首页 > 技术文章 正文
前后端不分离
在之前的开发方法,php代码写在HTML中,不存在纯粹的PHP文件和HTML文件,这就是前后端的不分离,也就是php和HTML你中有我我中有你,而在前后端不分离的应用模式中,前端页面看到的都是由后端控制,由后端渲染页面或者重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高,请求的数据交互如下图:
例如:
前端工程师对PHP代码读不懂,PHP工程师对CSS等内容也不熟悉。
开发效率会大大降低,比如前端写好静态demo,后端翻译成VM模板,也比如直接基于后端环境的开发,那样配置和安装使用都很麻烦,而且前端还是要写VM,依赖后端数据,效率依然不高。
前端能力发挥受到局限,比如性能优化,如果性能优化只在前端做空间非常有限,于是我们经常要与后端合作,但是由于后端的框架限制,我们很难来优化性能。
最后,发现只有做到真正的前后端分离,才能够真正的彻底的解决以上的问题。所以后来就有了前后端分离。
前后端分离
前端:负责View(视图层/做HTML页面的展示)和Controller(逻辑层/书写业务逻辑)层。
后端:负责Model(数据层/数据的增删改查)层。
在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果,用户看到什么样的效果,从后端请求的数据如何加载到前端中,都由前端自己决定,后端仅仅需要提供一套逻辑对外提供数据即可,并且前端与后端的耦合度相对较低,在这种模式中,我们通常将后端开发的每个视图都成为一个接口,或者API,前端通过访问接口来对数据进行增删改查。
前后端分离的好处是什么?
1、为优质产品打造精益团队
术业有专攻,通过前后端分离,让前后端工程师只需要专注于前端或者后端的开发工作,培养前端工程师独特的技术特性,然后构建出一个全栈式的精益开发团队。
2、提高工作效率,分工更加明确
前后端分离的工作流程可以使得前端专心前端,后端关心后端,两者开发同时进行,提高工作效率,页面的增加和路由的修改也不必再去麻烦后端,开发更加灵活。
3、局部性能提升
通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。
4、增强代码的可维护性
前后端分离后,应用的代码不再是前后端混合,只有在运行期才会调用依赖关系,并且分层明确,应用代码变得整洁清晰。
总结
简单来说,前后端分离主要就是将数据操作和显示分离分离出来,前端专注做数据显示,通过文字、图片或者图标等方式让数据显示出来,后端专注的做数据的操作。
前端把数据发给后端,然后后端对数据进行修改。而后端提供接口给前端调用,来触发后端对数据的操作。
最后
JNPF快速开发平台采用前后端分离技术、采用B/S架构开发,形成一站式开发多端(APP+PC)使用。
前端技术:
1.Web前端呈现给用户的视觉效果,可以看得到碰得着的东西。
2.采用B/S框架开发、因此前后端分离目的之一是做到专业化分工、提 高项目质量和开发效率。
3.前端采用HTML5、CSS3、Bootstrap、Jquery、VUE脚本技术搭建而成的页面,我们是纯净版页面,使开发起来速度更快。
后端技术:
1.Web前端呈现给用户的视觉效果,可以看得到碰得着的东西。
2.采用B/S框架开发、因此前后端分离目的之一是做到专业化分工、提 高项目质量和开发效率。
3.前端采用HTML5、CSS3、Bootstrap、Jquery、VUE脚本技术搭建而成的页面,我们是纯净版页面,使开发起来速度更快。
- 上一篇: Docker容器网络实操教程
- 下一篇: 前后端分离的陷阱
猜你喜欢
- 2024-12-03 曾经卫生间干湿分离叫使用,现在“三分离”才叫真正使用!
- 2024-12-03 卫生间干湿分离一定要做吗?卫生间干湿分离的重要性
- 2024-12-03 传统干湿分离已过时了?试试改成“三分离”,过来人:优点确实多
- 2024-12-03 拇外翻手术需要双足分开做吗?完全没必要!
- 2024-12-03 吃饭还得“干湿分离”?吃东西时喝水到底健不健康?
- 2024-12-03 高铁的两个车头为什么要连在一起?分开就不能跑了吗?长见识了
- 2024-12-03 机体与曲柄连杆机构的作用
- 2024-12-03 空调制冷系统,气液分离器的作用和原理,安装使用有哪些要求
- 2024-12-03 OpenIM - 高性能开源IM系统架构解析
- 2024-12-03 卫生间怎么布置?告诉你分区的3个标准尺寸,多亏师傅提醒
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)