前后台分离的意义(开发演变方式)
前后端分离,使得前后端能够各司其职,后端更注重于服务的提供,而前端更注重服务的使用,前端通过JS可以做非常多的数据处理工作,所以一定程度上也能够降低服务器的压力;后端的处理异常也不用直接反映到前端,通常分离可将异常处理变得更友好,比如以炫丽的页面效果展示错误消息。
随着技术的发展,前后端技术的差异性也日异明显,如果仍然以传统web开发模式来实现,短时间也不能确保公司员工都能精通全栈开发,进行前后端分离,后端更注重的是服务提供,而不用考虑前端的终端情况,至于如何布局,如何实现数据渲染展示交由前端完成,分工更明确,减少了前后端的耦合,降低了合作难度。
因为前后端技术及性质的差异性,所以我们要做分离,但分离后如何实现前后端的交互,如何才能使交互更加简单,这是分离后需要考虑的问题。
前后端分离后,通常前端通过AJAX技术异步请求后端资源,后端通过JSON返回响应数据交由前端处理数据逻辑。原来我们使用XML来实现前后端数据交互,但XML解析比较繁琐,数据传输冗余较大,所以采用了更方便的JSON格式,其实不管是XML还是JSON,都仅仅是数据存储和传输的一种格式,作用上是一致的,用以保证能实现交互。
传统web开发,有各种工程化构建工具可以使用,现在对于前端来说,也有非常多优秀的构建工具,Grunt、Gulp、Webpack、Fis3等,前后端分离后,各端可更专注自己端的业务,利用工程化构建工具优化开发也更方便。和用户天天见面的界面内容就交由前端去处理吧,业务数据服务功能就交由后端去完成,大家各司其职又相互协作。
优势与意义
对于前后端分离的意义我们也可以看做是前端渲染的意义,我主要总结了下面四点:
1.彻底解放前端
前端不再需要向后台提供模板或是后台在前端html中嵌入后台代码,前端通过AJAX调用后台接口,数据逻辑放在前端,由前端维护。
2.提高工作效率,分工更加明确
前后端分离的工作流程可以使前端只关注前端的事,后台只关心后台的活,两者开发可以同时进行,在后台还没有时间提供接口的时候,前端可以先将数据写死或者调用本地的json文件即可,页面的增加和路由的修改也不必再去麻烦后台,开发更加灵活。
3.局部性能提升
通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有的资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。
4.降低维护成本
通过目前主流的前端MVC框架,我们可以非常快速的定位及发现问题的所在,客户端的问题不再需要后台人员参与及调试,代码重构及可维护性增强。