關(guān)于前后端分離的分析

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

前端后端交互,基本上是基于http+json的形式。后端專注于提供數(shù)據(jù),更重要職責(zé)是維護(hù)系統(tǒng)架構(gòu)的穩(wěn)定,保證數(shù)據(jù)的安全。前端人員專注于交互,快速響應(yīng)UI的變化。
  雙方交互基于http+json接口,后端人員基本只對(duì)接口負(fù)責(zé),無需負(fù)責(zé)js和html的代碼。前端人員只對(duì)界面展示交互負(fù)責(zé),對(duì)于后端http接口如何提供正確的數(shù)據(jù)無需負(fù)責(zé)。

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

1、評(píng)審階段:產(chǎn)品經(jīng)理與前后端進(jìn)行需求評(píng)審,各自理解清楚自己的業(yè)務(wù)量以及聯(lián)調(diào)的工作量,評(píng)估開發(fā)時(shí)間。
2、開發(fā)準(zhǔn)備階段:前后端一起商量需求中需要聯(lián)調(diào)的部分,進(jìn)行接口的口頭協(xié)議交流。
3、接口定義階段:前后端一方中,前后端中的一方根據(jù)之前的口頭協(xié)議擬定出一份詳細(xì)的接口,并編寫服務(wù)接口定義,完成后由另一方確認(rèn)。有疑問的地方重新商量直至雙方都沒有問題。
4、開發(fā)階段:雙方根據(jù)協(xié)商出來的接口為基礎(chǔ)進(jìn)行開發(fā),如在開發(fā)過程中發(fā)現(xiàn)需要新增或刪除一些字段,重復(fù)步驟3。
(注意:前端在開發(fā)過程中記得跟進(jìn)接口,mock數(shù)據(jù)進(jìn)行本地測(cè)試,后端修改接口需要跟前端協(xié)商清楚再改。 )
5、聯(lián)調(diào)階段:雙方獨(dú)自的工作完成,開始前后端聯(lián)調(diào),如在聯(lián)調(diào)過程發(fā)現(xiàn)有疑問,重復(fù)步驟3,直至聯(lián)調(diào)完成。
6、提測(cè)階段:將完成的需求提給測(cè)試人員,讓其對(duì)該需求進(jìn)行測(cè)試,如發(fā)現(xiàn)問題,及時(shí)通知開發(fā)并讓其修改,直至需求沒有bug。
7、發(fā)布階段:前后端雙方在保證步驟1-5都沒有問題了,進(jìn)行各自的代碼發(fā)布,完成后由測(cè)試人員在線上進(jìn)行相應(yīng)的測(cè)試,如果有bug,重復(fù)步驟6和7,直至成功上線。

三、相關(guān)問題及解決建議

1、前后端分離會(huì)帶來前后端溝通成本的問題,相比不分離,能減少開發(fā)的總時(shí)間嗎?
回答:能減少開發(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ì)帶來溝通成本的問題,這方面需要前后端遵守合作流程,適應(yīng)新的合作模式,可以提高溝通效率??傮w而言,利大于弊。

2、接口定義階段,接口誰定?
回答:建議后端開發(fā)人員定,需要前端人員評(píng)審。

3、聯(lián)調(diào)階段,前端是基于后端的開發(fā)人員的機(jī)器聯(lián)調(diào),還是基于后端一個(gè)開發(fā)公共環(huán)境聯(lián)調(diào)?
回答:前端應(yīng)該基于后端的一個(gè)公共開發(fā)環(huán)境聯(lián)調(diào),理由如下:
(1)、開發(fā)過程中,后端開發(fā)人員機(jī)器環(huán)境不穩(wěn)定,后端人員在調(diào)速中會(huì)時(shí)不時(shí)進(jìn)行斷點(diǎn)調(diào)試,重啟機(jī)器的服務(wù)器。
(2)、公共開發(fā)環(huán)境由開發(fā)人員負(fù)責(zé)更新程序,并需要在更新程序前把代碼提交代碼倉庫,這樣有利于前端有一個(gè)實(shí)時(shí)更新,穩(wěn)定的調(diào)試環(huán)境。

四、前后端分離工具推薦

1、RAP
http://rapapi.org/org/index.do
RAP是一個(gè)可視化接口管理工具,同時(shí)支持模擬數(shù)據(jù)功能,有開源代碼,工具基于BS架構(gòu)部署在web環(huán)境,瀏覽器頁面范圍。
基于RAP,可以在接口定義階段方便地共享接口協(xié)議。
2、insomnia
https://insomnia.rest/
insomoia是一個(gè)開源的http接口調(diào)試工具,exe程序,類型postman,支持接口報(bào)文數(shù)據(jù)導(dǎo)入導(dǎo)出。
基于insomnia,可以在開發(fā)階段,聯(lián)調(diào)階段,方便地測(cè)試,對(duì)接接口。

五、總結(jié)

前后端分離帶來的好處,在戰(zhàn)術(shù)級(jí)別:
提高開發(fā)效率,前后端各自做自己熟悉的領(lǐng)域的事情

戰(zhàn)略級(jí)別:
1、有利于產(chǎn)品的組件化,由于前后端分離,有利于迅速二次開發(fā)推出新產(chǎn)品。
2、減少后端新人上手項(xiàng)目的難度,提高產(chǎn)品的可維護(hù)性和可拓展性。
3、基于原有后端接口,有利于后期在安卓,ios,微信等其他不同平臺(tái)進(jìn)行產(chǎn)品二次開發(fā)。

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,769評(píng)論 25 709
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,913評(píng)論 2 59
  • 前言 最近這一段時(shí)間由于Nodejs的逐漸成熟和日趨穩(wěn)定,越來越多的公司中的前端團(tuán)隊(duì)開始嘗試使用Nodejs來練一...
    a3b267eac00f閱讀 3,422評(píng)論 3 26
  • 自從南京回到家里已經(jīng)三個(gè)多月了,時(shí)間對(duì)我這種還沒有工作只在家里呆著的人來說已經(jīng)很長了,我沒想到我會(huì)呆這么久,一...
    幸運(yùn)Luck閱讀 342評(píng)論 0 0
  • 每個(gè)人都有一個(gè)老家,一提到老家,我們都會(huì)想到老家的山和水,風(fēng)和月,情和意,我們總是會(huì)感覺:不管我們走的多遠(yuǎn)多久,也...
    石成玉_d24e閱讀 445評(píng)論 0 5

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