如何利用前後端分離開發模式,開始一個專案?
自從AJAX大行其道,前後端分離開發模式已是大勢所趨,這裡筆者針對對前後端分離開發模式談談自己的看法。
對於大部分應用,已經不需要從後端讀取HTML頁面或者模板,前端完全可以根據資料自行渲染頁面/模板,這樣,前後臺互動就可以簡化為資料的增刪改查。利用AJAX技術,實現頁面區域性重新整理,促使了前後臺分離的可能性。
那麼,如何利用前後端分離開發模式,開始一個專案呢?
1. 產品文件
產品經理會先設計好整個產品的業務模組和流程,並給出產品文件,包括UI互動,流程圖,模組劃分等等。
這個時候,產品,前端,後端,測試需要一起評審文件,可能需要多次評審才能確定設計方案。
2. 前端提供介面定義
第二個階段是前後臺同時開發時期。後端同學在設計資料庫和表結構的時候,前端同學應該熟悉互動文件和整個業務在表現層上的流程,並且根據頁面的展現方式,給出合理或者期望的資料模型(一般是JSON資料結構) 。
比如,需要哪些介面?介面API是隻讀的還是可修改的?介面入參是什麼?介面出參是什麼?......這些問題,以往都是由後端同學考慮並定義的。但是,實際上,前端同學是最熟悉互動操作的,前端同學期望的API也是最符合頁面需求的,當然,如果某個介面涉及到其他業務模組時,它的複雜性可能就無法在頁面上體現出來。然而,無論如何,前端同學是應該,也能夠在介面定義上提供合理,富有建設性意見的方案。
因此,第二階段,前端需要給後端同學提供一份介面定義清單。
3.後端給出介面文件,並通過review
階段二前端同學提供的介面設計清單,畢竟只是建議,真正的介面還需要後端定義和實現。所以,第三階段,後端需要提供正式的API文件,並且,前端同學參加review,確保所有的API(入參,出參,和HTTP請求方法)都被雙方認可。
4. 前後端同步開發
API文件確定後,前後臺就能夠同時開發了。這時,又可能分為兩種情況。
(1) 後端已經定義好介面並且釋出,但是,返回值都為假資料,不支援修改操作。前端同學利用已釋出的API進行測試。
(2) 後端沒有釋出任何介面,前端同學自行mock資料(利用本地json檔案,或者線上的一些mock工具,比如easy mock等模擬資料),然後邊寫頁面邊測試。
5. 聯調階段
當後端業務程式碼已經完成,前端頁面和資料互動部分完成,前後端就可以進行聯調了。這個階段,是磨合期,肯定會出現很多問題,也需要雙方協商去解決。
當後臺介面變更時,必須同步更新API文件,並第一時間通知前端同學,保證前臺介面呼叫也同步更新。
同時,測試人員可以介入,針對介面進行單元測試。注意,這時只是針對介面的黑盒測試,不要涉及任何UI操作。
6. 冒煙測試和其他安全性測試
當聯調階段完成後,也就是開發人員(前端和後端)認為已經沒有bug的情況下,專案再交由測試人員進行冒煙測試。同時,有需要的話,同時安排安全性測試。
幾輪測試,幾輪bug fixing之後,專案就可以上線了。
小結
可以看到,前後端分離開發模式可以讓分工更明確,提高生產效率,加速專案開發和迭代,也能夠讓API文件化,便於後期維護。
微信公眾號:
相關文章
- 前後端分離開發部署模式【轉】後端模式
- 前後端分離後模組開發後端
- 傳統的MVC開發模式和前後端分離開發模式MVC模式後端
- 從零開始搭建前後端分離論壇 一後端
- Django+Vue構建前後端分離開發模式DjangoVue後端模式
- 重新學習web後端開發-005-瞭解前後端分離開發模式Web後端模式
- 前後端分離開發腳手架後端
- 前後端分離開發模式的 mock 平臺預研後端模式Mock
- Django+Vue.js搭建前後端分離專案 web前後端分離專案實踐DjangoVue.js後端Web
- 從零開始的SpringBoot前後端分離入門級專案(七)Spring Boot後端
- Flask前後端分離專案案例Flask後端
- jQuery 前後端分離專案總結jQuery後端
- 前後端分離專案實踐分析後端
- 開源一套極簡的前後端分離專案腳手架後端
- 超詳細!4小時開發一個SpringBoot+vue前後端分離部落格專案!!Spring BootVue後端
- ???前後端分離模式的思考???後端模式
- 前後端分離專案,如何解決跨域問題?後端跨域
- Nginx 同域名部署前後端分離專案Nginx後端
- Nginx代理同域名前後端分離專案Nginx後端
- 前後端分離探索——MVC 專案升級的一個過渡方案後端MVC
- SpringBoot,Vue前後端分離開發首秀Spring BootVue後端
- Vue+Spring Boot 前後端分離的商城專案開源啦!VueSpring Boot後端
- 使用aspnetcore前後端分離開發,你一定要知道這個NetCore後端
- 【Django開發】前後端分離美多商城專案第2篇:專案準備【附程式碼文件】Django後端
- 零基礎搭建前後端分離專案後端
- docker+nginx+redis部署前後端分離專案!!!DockerNginxRedis後端
- C#手術麻醉系統原始碼,前後端分離,倉儲模式開發C#原始碼後端模式
- 前後端分離,倉儲模式開發的PHP不良事件上報系統原始碼後端模式PHP事件原始碼
- .NET 8.0 前後分離快速開發框架框架
- Web前後端:如何分離,如何解耦?Web後端解耦
- springboot+vue前後端分離專案-vue專案搭建Spring BootVue後端
- SpringBoot+vue 前後端的分離專案筆記 [一] 專案搭建Spring BootVue後端筆記
- 開發一個大型後臺管理系統,應該用前後端分離的技術方案嗎?後端
- 以api文件為中心--前後端分開發離新思維API後端
- 基於 webpack 的前後端分離開發環境實踐Web後端開發環境
- 基於 TP6.0 和 vue 開發前後端分離管理後臺Vue後端
- 前後端分離,如何在前端專案中動態插入後端API基地址?(in docker)後端前端APIDocker
- 開始一個專案