前后台分离的一些看法
前言
目前,web项目前后台分离是一个趋势,前后台分离能尽量减少耦合,加快开发效率。
为什么要分离?
那传统的开发是怎么个耦合法呢,本人有和人一起做过项目,当时分配到前端做开发。与其说是前台开发,不如说美工,就是设计界面并实现而已,没有数据,事件也不好写。只能写差不多了,然后交给后台人员去测试。如果自己要测试的话,必须了解后台,至少能把后台服务搭起来。顺利的话,可能一会儿就好了,但是要是出了点bug,或是其他毛病,可能需要花上大把的时间去解决。但是,这些工作是没必要的,换句话说,是对开发进度来说是没必要的。另一方面呢,后台开发人员,拿到界面,要做测试,要渲染。如果后台开发人员不了解js这些东西,或者说了解不是太深的话,就容易发生js,css乱作一团的情况。而且,可能还会插足界面设计。多有不便。
怎么分离?
这里面那前后台如何分离法呢,后台只负责数据处理,提供接口,不再负责界面的渲染,就是再也不需要看到html,css,js东西了。而前台,不再只是一些简单网页文件,而是组件化,工程化,看起来更像是一个项目。那他们怎么通信呢?通过ajax请求及json数据进行通信。如图:
(本图片来源于网络)
这里提一下,json对象呢,是js的原生对象,前端肯定是没问题的。为什么要引入json的原因就是,后台的java对象,前台是识别不了的。必须要转成它能识别的样子。
前端在开发的时候,它的测试可以不用依赖于后台,比如说webpack就有自己的测试服务器,它的端口同样是8080,不过没关系的,如果你的tomcat占用了8080,它会自动启用8081或者其他的端口。厉害的是,ajax请求可以跨域请求,也就是说后台和前台都不一定要打包在一起发布才能访问,只要你后台打开tomcat,我直接访问你的IP,就能获取到后台的数据。当然,tomcat允许跨域需要一定的配置,就是在web.xml里添加一个tomcat自带的过滤器即可。这样如果前后台都是自己开发的话,你就可以在8081端口发请求到8080端口获取后台数据。
这里给出一张图,就是通过vue-cli,也就是脚手架搭起来的前台工程的文件目录结构。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库