当需求确定下来以后,设计师与后端开发可以开始实施。设计师设计界面与交互,后端开发人员可以根据需求,分析业务规则,确立系统架构,并开发服务端系统。
在这个时候,前端开发人员就处于一种尴尬的状态。界面ui还在设计,无法开始页面制作。那前端开发人员可以做什么?如果我们只是单纯page制作的角色,我们可以喝咖啡,玩玩游戏,等待UI制作出笼。但我们不可以。我们不单单是制作html,页面的交互、与服务器的数据交换都需要我们开发。这些事情都需要前后端开发人员紧密配合才能很好完成。
沟通:
前后端开发的职责其实有一些重合的地方。通常服务器端会有一个模板系统(如jsp、struts、smarty、monorail)。传统的web是将html直接由模板系统输出,所有交互由link和form负责。而越来越多页面中的交互逻辑由js和xhr控制后,后端开发人员会在这些不熟悉的领域产生一定的认知空白。这时沟通是非常重要的。前端开发 人员应该主动与后端开发人员进行沟通,确定页面中交互与服务器端交换数据的接口、方式、格式等。至少要在前期让服务端开发人员看到:这些东西是由浏览器端负责 的。服务端需要做的仅仅是提供服务接口;浏览器端分离了部分逻辑,服务器端开发人员会更轻松。否则,服务端开发人员就有可能会去寻求RPC的解决方案,将前后端重新耦合。
如何更好的沟通?
1.站在对方的角度考虑问题。前端开发人员要能够考虑服务器端开发人员关心的是什么,不想要关心的是什么,担心的是什么。我们更多时候总是考虑怎么怎么样前端开发才会更简便更好,但是也许我们只轻松1点或者只带来一点成效的事情,在后端开发中会带来一些冗余的设计或者很多不必要的工作量,从而导致前后端配合出现问题。当我们在设计前端系统的时候,要站在对方的角度考虑问题,应该说是站在全局的角度考虑。
2.共同语言。我们平时与人交流总是希望相互之间有共同语言。了解后端系统设计架构,技术实现方式,数据库设计以及为什么要这样设计,我觉得是必要的。否则交流的时候,对方说什么,你都无法理解,对方就会有一种鸡同鸭讲的感觉。
3.主动。主动沟通,不要搞的开发完页面就事不关己,或者明知某些地方需要一起确认,非要等到对方来找你。
协作:
1.环境。需要一个协同开发环境。当你修改完代码提交时,能够立即看到效果。这个协同开发环境是一个测试服务器。我们可以向服务器上提交代码,或者我们修改完后,登陆服务器并从版本控制系统同步代码。
2.细节。有些数据接口api以及数据格式也许会到开发中才能够确认下来。可以有个接口文档。如果大家都知道彼此对业务规则都熟悉,可以在开发中逐个确认。无论如何,接口文档是必须的。它记录着在系统层面对业务的抽象。接口细节可以在开发中逐渐完善。
3.冲突。总有那么一些文件,是前后端开发人员都会修改的。这些敏感文件,修改前以及修改完毕都要知会后端开发人员。而且要养成edit前update的习惯。如果出现冲突,冲突最好能够一起解决,或者及时告知。避免再次冲突