目前前后端不分离开发问题
前端页面可嵌套java语法
优点:目前java后台,可以在jsp、html页面嵌套java语法、数据交互,不用采取ajax请求,加快前后端数据交互。
缺点:数据字段嵌套在前端页面,内容较多时,字段混乱,嵌套java语法降低前端开发后期维护性。
数据交互,需运行java项目
优点:方便后台测试接口
缺点:前端需要搭建后台java环境、后台每出新接口,前端需要重新更新代码编译运行,降低前端开发速度,尤其是当后台编写出错、项目运行不了,需要把报错信息交给后台处理完成后再重新编译运行,前端根本开展不了工作。
url地址跳转(目前跳转由后端控制)
前端每次新建页面都要先向后台报项目文件目录,后台编写url地址和这个文件的位置作一个映射
优点:后台对url地址可控性更强
缺点:大大降低前端开发效率
前端资源的(css、js)引入
目前是采取绝对路径方式引入
优点:
缺点:正确前端引入资源的方式是相对路径,所以如果后台没有做好url跳转,前端往往连静态页面都编写不了
前端自动化、css预编译、打包压缩
目前由于没有前后端分离,项目结构嵌套在java项目结构下,前端url、资源的引入前端都无法控制,无法做到基本的前端工程化、前端的打包压缩添加版本号等等;
正确的流程应该是这样的:前端src开发(可采用less等预编译器加快前端开发)→前端dist打包发布
优点:前端有完整目录结构,结构清晰、前端自动化、后期维护性较好
缺点:由于没有压缩合并资源等等问题,增加网站资源引入、性能差等问题
前后端分离最大的优缺点
优点
前端负责前端页面编写、展示,调用接口,后端负责写接口,各司其职,互不影响
目录清晰、后期维护性强;
加快前后端开发速度
可使用Vue等比较优秀的框架,提高开发速度,加快网站速度
缺点
- 后端无法测试接口,前端需把接口出现的问题告诉后端,需多增加沟通
- 后端可控前端降低
总结
目前大部分公司都采取前后端分离的开发模式,前后端各司其职,互不影响,前后端的后期可维护性都更加好。
以上。