为什么要进行前后端分离 前后端可以身心愉快地专注于各自擅长的领域 避免后端写前端代码(基本上1天时间,20%写后端代码,80%写页面…) 前端配置后端代码运行环境(简直是要疯… 装一堆环境,而且有些开发环境是windows,前端是macos,装环境就要装好几天) 避免前后端打架,推诿,甩锅… 提高开发效率 分离有助于前端大放异彩,后端专注于三高(高并发、高性能、高可用) 太多了…
前后端分离前我们的开发协作模式一般是这样的
前端写好静态的HTML页面交付给后端开发。静态页面可以本地开发,也无需考虑业务逻辑只需要实现View即可。
后端使用模板引擎去套模板,同时内嵌一些后端提供的模板变量和一些逻辑操作。
然后前后端集成对接,遇到问题,前台返工,后台返工。
然后在集成,直至集成成功。
在前端调试的时候要安装完整的一套后端开发工具,要把后端程序完全启动起来。遇到问题需要后端
开发来帮忙调试。我们发现前后端严重耦合,还要要求后端人员会一些HTML,JS等前端语言。
前端页面里还嵌入了很多后端的代码。一旦后端换了一种语言开发,简直就要重做。
像这种增加了大量的沟通成本,调试成本等,而且前后端的开发进度相互影响,从而大大降低了开发效率。前后端分离模式



在传统架构模式中,前后端代码存放于同一个代码库中,甚至是同一工程目录下。页面中还夹杂着后端
代码。前后端工程师进行开发时,都必须把整个项目导入到开发工具中。
前后端代码库分离,前端代码中有可以进行Mock测试(通过构造虚拟测试对 象以简化测试环境的方法)的
伪后端,能支持前端的独立开发和测试。而后端代码中除了功能实现外,还有着详细的测试用例,以
保证API的可用性,降低集成风险。
在开发期间前后端共同商定好数据接口的交互形式和数据格式。然后实现前后端的并行开发,其中
前端工程师在开发完成之后可以独自进行mock测试,而后端也可以使用Postman等接口测试软件进行接口
自测,然后前后端一起进行功能联调并校验格式,最终进行自动化测试。

