前后端分离的演变
记得12年从事工作的时候公司还没有专门的前端人员,一般我们都是前后端都会,毕竟那时候H5才刚刚起来微软的XP还在流行使用(默认系统自带IE6),IE的市场份额还是蛮大的。做的产品也没有很炫酷的特效(如果有也会选择使用flex),那时候Flash 是超级火的......扯得有点远了。
在开发的时候也是一边API接口服务,一边开发页面,发布也是一个发布包搞定。前端一般只是负责切图工作,就是将UI设计师的设计图布局成静态页面,前端是不参与交互逻辑和业务开发的,前端也是当时统一的吐槽对象。当时淘宝的Web架构比较流行基本上都是基于MVC框架webx,所以前端写好静态html 然后后端开发人员翻译成vm模板.....
这样就导致了前后端工作的分配不均,开发效率慢,代码维护量也大。为了解决痛点 慢慢开始前后端分离的架构流行开来 很好的解决了前后端分工不均问题,将更多的交互逻辑分配给前端来处理,而后端则可以专注于其本职工作。例如后台开发可以有跟多的时间进行后台权限控制以及复杂的运算工作,前后台解耦 ,两者同时开始推进项目进度,增加开发效率。
如何进行前后端分离
最开始的时候是SPA式的前后端分离法,单纯的从物理层做区分(认为只要是客户端的就是前端,服务器端的就是后端),这种分法不能满足前后端分离的需求,认为从技术职责上划分才能满足目前我们的使用场景,作者在工作中使用过两种方案:
第一种:
前端:负责View和Controller层。
后端:只负责Model层,业务处理/数据等。
优点:可以做url design,我们可以根据场景决