梁小新blog

前后端该不该分离?

目前前后端不分离开发问题

前端页面可嵌套java语法

优点:目前java后台,可以在jsp、html页面嵌套java语法、数据交互,不用采取ajax请求,加快前后端数据交互。

缺点:数据字段嵌套在前端页面,内容较多时,字段混乱,嵌套java语法降低前端开发后期维护性。

数据交互,需运行java项目

优点:方便后台测试接口

缺点:前端需要搭建后台java环境、后台每出新接口,前端需要重新更新代码编译运行,降低前端开发速度,尤其是当后台编写出错、项目运行不了,需要把报错信息交给后台处理完成后再重新编译运行,前端根本开展不了工作。

url地址跳转(目前跳转由后端控制)

前端每次新建页面都要先向后台报项目文件目录,后台编写url地址和这个文件的位置作一个映射

优点:后台对url地址可控性更强

缺点:大大降低前端开发效率

前端资源的(css、js)引入

目前是采取绝对路径方式引入

优点:

缺点:正确前端引入资源的方式是相对路径,所以如果后台没有做好url跳转,前端往往连静态页面都编写不了

前端自动化、css预编译、打包压缩

目前由于没有前后端分离,项目结构嵌套在java项目结构下,前端url、资源的引入前端都无法控制,无法做到基本的前端工程化、前端的打包压缩添加版本号等等;

正确的流程应该是这样的:前端src开发(可采用less等预编译器加快前端开发)→前端dist打包发布

优点:前端有完整目录结构,结构清晰、前端自动化、后期维护性较好

缺点:由于没有压缩合并资源等等问题,增加网站资源引入、性能差等问题

前后端分离最大的优缺点

优点

  1. 前端负责前端页面编写、展示,调用接口,后端负责写接口,各司其职,互不影响

  2. 目录清晰、后期维护性强;

  3. 加快前后端开发速度

  4. 可使用Vue等比较优秀的框架,提高开发速度,加快网站速度

缺点

  1. 后端无法测试接口,前端需把接口出现的问题告诉后端,需多增加沟通
  2. 后端可控前端降低

总结

目前大部分公司都采取前后端分离的开发模式,前后端各司其职,互不影响,前后端的后期可维护性都更加好。

以上。