先后端工程师工做协同工做主要环节在于数据交互与业务流程控制。前端
在数据交互方面遇到这种状况,先后端工程师一开始没有沟通好数据交互格式,由于后端作得快,已经写完接口,出了接口文档,而前端工程师在开发的时候使用了一些框架或者是一些插件,而框架的接口数据有规定,可是后端出的接口数据与前端开发所须要的接口数据不同,这时候前端工程师就处于被动状态,临时解决问题方法只有三个:后端
1、把后端传过来的数据在前端再转化一次,转成框架须要的接口数据。安全
缺点:加大了前端开发时间,影响前端页面性能。前端框架
2、前端从新本身写一套前端组件,根据后端接口读取数据。服务器
缺点:加大了前端开发时间。前端工程师
3、让后端工程师根据前端框架的接口数据从新写接口。框架
缺点:加大了后端开发时间,影响后端数据处理。前后端分离
想一想都知道,后端工程师确定不肯意重写接口,后端工程师就说会影响不少代码,苦逼的仍是前端工程师。前端工程师只能一步一步从新改造前端页面。性能
在业务流程控制方面遇到这种状况,先后端工程师一开没有明确的分工,前端工程师一直负责view方面,后端工程师一直负责model方面,中间的control方面没有处理,结果到先后端项目合并就出现了问题。中间一个业务控制层没有了。项目某些地方业务没法处理,后果可想而知。临时解决问题方法只有两个:spa
1、前端进行业务流程控制。
缺点:加大了前端开发时间。纯静态技术实现会致使部分页面数据不安全,容易丢失数据,不能为用户提供动态数据。(胖客户端-瘦服务器)
2、后端进行业务流程控制。
缺点:加大了后端开发时间。(瘦客户端-胖服务器)
想一想都知道,后端工程师确定不肯意重写业务控制层,后端工程师就说会先后端分离,减轻服务端压力。苦逼的仍是前端工程师。前端工程师只能一步一步从新添加control层代码。
综合上述,这个坑永远仍是前端工程师填。那么如何解决以上两类问题呢?答案其实很简单,这两类问题产生的主要缘由是缺少沟通。所以,在项目开始的时候必定要沟通。前端工程师必定主动要向后端工程师说明使用框架所须要的数据接口格式。而且必定要分工明确,搞清楚前端负责哪些部分,后端负责哪些部分,业务流程控制须要先后端如何配合。这样才能避免以上两类问题,从而影响工做进度。(说白了就是为何要加班)