角色:Client Developer、Server Developer
當需求確定下來以后,設計師與后端開發(fā)可以開始實施。設計師設計界面與交互,后端開發(fā)人員可以根據(jù)需求,分析業(yè)務規(guī)則,確立系統(tǒng)架構(gòu),并開發(fā)服務端系統(tǒng)。
在這個時候,前端開發(fā)人員就處于一種尷尬的狀態(tài)。界面ui還在設計,無法開始頁面制作。那前端開發(fā)人員可以做什么?
如果我們只是單純page制作的角色,我們可以喝咖啡,玩玩游戲,等待UI制作出籠。但我們不可以。我們不單單是制作html,頁面的交互、與服務器的數(shù)據(jù)交換都需要我們開發(fā)。這些事情都需要前后端開發(fā)人員緊密配合才能很好完成。
溝通:
前后端開發(fā)的職責其實有一些重合的地方。通常服務器端會有一個模板系統(tǒng)(如jsp、struts、smarty、monorail)。傳統(tǒng)的web是將html直接由模板系統(tǒng)輸出,所有交互由link和form負責。而越來越多頁面中的交互邏輯由js和xhr控制后,后端開發(fā)人員會在這些不熟悉的領域產(chǎn)生一定的認知空白。
這時溝通是非常重要的。前端開發(fā) 人員應該主動與后端開發(fā)人員進行溝通,確定頁面中交互與服務器端交換數(shù)據(jù)的接口、方式、格式等。
至少要在前期讓服務端開發(fā)人員看到:這些東西是由瀏覽器端負責 的。服務端需要做的僅僅是提供服務接口;瀏覽器端分離了部分邏輯,服務器端開發(fā)人員會更輕松。否則,服務端開發(fā)人員就有可能會去尋求RPC的解決方案,將前后端重新耦合。
如何更好的溝通?
1.站在對方的角度考慮問題。前端開發(fā)人員要能夠考慮服務器端開發(fā)人員關(guān)心的是什么,不想要關(guān)心的是什么,擔心的是什么。我們更多時候總是考慮怎么怎么樣前端開發(fā)才會更簡便更好,但是也許我們只輕松1點或者只帶來一點成效的事情,在后端開發(fā)中會帶來一些冗余的設計或者很多不必要的工作量,從而導致前后端配合出現(xiàn)問題。當我們在設計前端系統(tǒng)的時候,要站在對方的角度考慮問題,應該說是站在全局的角度考慮。
2.共同語言。我們平時與人交流總是希望相互之間有共同語言。了解后端系統(tǒng)設計架構(gòu),技術(shù)實現(xiàn)方式,數(shù)據(jù)庫設計以及為什么要這樣設計,我覺得是必要的。否則交流的時候,對方說什么,你都無法理解,對方就會有一種雞同鴨講的感覺。
3.主動。主動溝通,不要搞的開發(fā)完頁面就事不關(guān)己,或者明知某些地方需要一起確認,非要等到對方來找你。
協(xié)作:
1.環(huán)境。需要一個協(xié)同開發(fā)環(huán)境。當你修改完代碼提交時,能夠立即看到效果。
這個協(xié)同開發(fā)環(huán)境是一個測試服務器。我們可以向服務器上提交代碼,或者我們修改完后,登陸服務器并從版本控制系統(tǒng)同步代碼。
2.細節(jié)。有些數(shù)據(jù)接口api以及數(shù)據(jù)格式也許會到開發(fā)中才能夠確認下來??梢杂袀€接口文檔。如果大家都知道彼此對業(yè)務規(guī)則都熟悉,可以在開發(fā)中逐個確認。無論如何,接口文檔是必須的。它記錄著在系統(tǒng)層面對業(yè)務的抽象。接口細節(jié)可以在開發(fā)中逐漸完善。
3.沖突??傆心敲匆恍┪募?,是前后端開發(fā)人員都會修改的。這些敏感文件,修改前以及修改完畢都要知會后端開發(fā)人員。而且要養(yǎng)成edit前update的習慣。如果出現(xiàn)沖突,沖突最好能夠一起解決,或者及時告知。避免再次沖突。
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html