淺談前后端分工協(xié)作

一、前后端分離的基本概念

前端后端交互,基本上是基于http+json的形式。后端專注于提供數(shù)據(jù),更重要職責(zé)是維護(hù)系統(tǒng)架構(gòu)的穩(wěn)定,保證數(shù)據(jù)的安全。前端人員專注于交互,快速響應(yīng)UI的變化。

雙方交互基于http+json接口,后端人員基本只對(duì)接口負(fù)責(zé),無(wú)需負(fù)責(zé)js和html的代碼。前端人員只對(duì)界面展示交互負(fù)責(zé),對(duì)于后端http接口如何提供正確的數(shù)據(jù)無(wú)需負(fù)責(zé)。

前后端分離的主要概念就是:后臺(tái)只需提供API接口,前端調(diào)用AJAX實(shí)現(xiàn)數(shù)據(jù)呈現(xiàn)。

二:前后端分離的意義

1:徹底解放前端,前端不再需要向后臺(tái)提供模板或是后臺(tái)在前端html中嵌入后臺(tái)代碼

2:提高工作效率,分工更加明確,前后端分離的工作流程可以使前端只關(guān)注前端的事,后臺(tái)只關(guān)心后臺(tái)的活,兩者開(kāi)發(fā)可以同時(shí)進(jìn)行,在后臺(tái)還沒(méi)有時(shí)間提供接口的時(shí)候,前端可以先將數(shù)據(jù)寫(xiě)死或者調(diào)用本地的json文件即可,頁(yè)面的增加和路由的修改也不必再去麻煩后臺(tái),開(kāi)發(fā)更加靈活。

3:局部性能提升,通過(guò)前端路由的配置,我們可以實(shí)現(xiàn)頁(yè)面的按需加載,無(wú)需一開(kāi)始加載首頁(yè)便加載網(wǎng)站的所有的資源,服務(wù)器也不再需要解析前端頁(yè)面,在頁(yè)面交互及用戶體驗(yàn)上有所提升。

4:降低維護(hù)成本,通過(guò)目前主流的前端MVC框架,我們可以非常快速的定位及發(fā)現(xiàn)問(wèn)題的所在,客戶端的問(wèn)題不再需要后臺(tái)人員參與及調(diào)試,代碼重構(gòu)及可維護(hù)性增強(qiáng)。

5、有利于產(chǎn)品的組件化,由于前后端分離,有利于迅速二次開(kāi)發(fā)推出新產(chǎn)品。

6、減少后端新人上手項(xiàng)目的難度,提高產(chǎn)品的可維護(hù)性和可拓展性。

7、基于原有后端接口,有利于后期在安卓,ios,微信等其他不同平臺(tái)進(jìn)行產(chǎn)品二次開(kāi)發(fā)。

三:實(shí)現(xiàn)分離的基本合作思路

1、評(píng)審階段:產(chǎn)品經(jīng)理與前后端進(jìn)行需求評(píng)審,各自理解清楚自己的業(yè)務(wù)量以及聯(lián)調(diào)的工作量,評(píng)估開(kāi)發(fā)時(shí)間。

2、開(kāi)發(fā)準(zhǔn)備階段:前后端一起商量需求中需要聯(lián)調(diào)的部分,進(jìn)行接口的口頭協(xié)議交流。

3、接口定義階段:前后端一方中,前后端中的一方根據(jù)之前的口頭協(xié)議擬定出一份詳細(xì)的接口,并編寫(xiě)服務(wù)接口定義,完成后由另一方確認(rèn)。有疑問(wèn)的地方重新商量直至雙方都沒(méi)有問(wèn)題。

4、開(kāi)發(fā)階段:雙方根據(jù)協(xié)商出來(lái)的接口為基礎(chǔ)進(jìn)行開(kāi)發(fā),如在開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)需要新增或刪除一些字段,重復(fù)步驟3。

(注意:前端在開(kāi)發(fā)過(guò)程中記得跟進(jìn)接口,mock數(shù)據(jù)進(jìn)行本地測(cè)試,后端修改接口需要跟前端協(xié)商清楚再改。 )

5、聯(lián)調(diào)階段:雙方獨(dú)自的工作完成,開(kāi)始前后端聯(lián)調(diào),如在聯(lián)調(diào)過(guò)程發(fā)現(xiàn)有疑問(wèn),重復(fù)步驟3,直至聯(lián)調(diào)完成。

6、提測(cè)階段:將完成的需求提給測(cè)試人員,讓其對(duì)該需求進(jìn)行測(cè)試,如發(fā)現(xiàn)問(wèn)題,及時(shí)通知開(kāi)發(fā)并讓其修改,直至需求沒(méi)有bug。

7、發(fā)布階段:前后端雙方在保證步驟1-5都沒(méi)有問(wèn)題了,進(jìn)行各自的代碼發(fā)布,完成后由測(cè)試人員在線上進(jìn)行相應(yīng)的測(cè)試,如果有bug,重復(fù)步驟6和7,直至成功上線。

四:相關(guān)問(wèn)題及解決建議

1、前后端分離會(huì)帶來(lái)前后端溝通成本的問(wèn)題,相比不分離,能減少開(kāi)發(fā)的總時(shí)間嗎?

能減少開(kāi)發(fā)的總時(shí)間,理由如下:

(1)、基于對(duì)接口負(fù)責(zé)的原則,前后端分離后,只需做好各種熟悉領(lǐng)域的事情。

后端專注于提供數(shù)據(jù),更重要職責(zé)是維護(hù)系統(tǒng)架構(gòu)的穩(wěn)定,保證數(shù)據(jù)的安全。

前端人員專注于交互,快速響應(yīng)UI的變化。

(2)、前后端分離確實(shí)會(huì)帶來(lái)溝通成本的問(wèn)題,這方面需要前后端遵守合作流程,適應(yīng)新的合作模式,可以提高溝通效率??傮w而言,利大于弊。

2、接口定義階段,接口誰(shuí)定?

回答:建議后端開(kāi)發(fā)人員定,需要前端人員評(píng)審。

3、聯(lián)調(diào)階段,前端是基于后端的開(kāi)發(fā)人員的機(jī)器聯(lián)調(diào),還是基于后端一個(gè)開(kāi)發(fā)公共環(huán)境聯(lián)調(diào)?

回答:前端應(yīng)該基于后端的一個(gè)公共開(kāi)發(fā)環(huán)境聯(lián)調(diào),理由如下:

(1)、開(kāi)發(fā)過(guò)程中,后端開(kāi)發(fā)人員機(jī)器環(huán)境不穩(wěn)定,后端人員在調(diào)速中會(huì)時(shí)不時(shí)進(jìn)行斷點(diǎn)調(diào)試,重啟機(jī)器的服務(wù)器。

(2)、公共開(kāi)發(fā)環(huán)境由開(kāi)發(fā)人員負(fù)責(zé)更新程序,并需要在更新程序前把代碼提交代碼倉(cāng)庫(kù),這樣有利于前端有一個(gè)實(shí)時(shí)更新,穩(wěn)定的調(diào)試環(huán)境。

前后端分離的核心:后臺(tái)提供數(shù)據(jù),前端負(fù)責(zé)顯示

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,769評(píng)論 25 709
  • 前言 最近這一段時(shí)間由于Nodejs的逐漸成熟和日趨穩(wěn)定,越來(lái)越多的公司中的前端團(tuán)隊(duì)開(kāi)始嘗試使用Nodejs來(lái)練一...
    a3b267eac00f閱讀 3,422評(píng)論 3 26
  • 去年年初跟初中同學(xué)借錢(qián),初中同學(xué)來(lái)往的也就這四個(gè),其中二個(gè)沒(méi)回我話,一個(gè)是銀行的我變相的告訴他要用錢(qián)急用錢(qián)!幫我問(wèn)...
    頑爸的腔調(diào)閱讀 407評(píng)論 0 3
  • 早上起得挺早,早飯喝粥沒(méi)喝多少。今天壽星生日,娃哥來(lái)了。知道娃還沒(méi)好利索,但沒(méi)辦法還是要上班去。在單位學(xué)習(xí)了社會(huì)心...
    圈_圈_閱讀 108評(píng)論 0 0
  • 利用了兩天時(shí)間建八個(gè)測(cè)試項(xiàng)目各種報(bào)錯(cuò),今天終于有所收獲,此文章貢獻(xiàn)給和我一樣還在摸索的人,希望能有點(diǎn)幫助,也便于以...
    真的很菜閱讀 1,708評(píng)論 0 3

友情鏈接更多精彩內(nèi)容