淺談前后端分離開發模式


https://blog.csdn.net/gybshen/article/details/91594272?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.edu_weight

 

為什么要前后端分離?

以Java Web項目為例,在傳統的開發模式中,前端代碼(Html、js、css)寫在JSP中,甚至JSP中嵌入Java代碼。當用戶訪問網站時,頁面數據也就是Html文檔,由Servlet容器將jsp編譯成Servlet,然后將jsp中的html,css,js代碼輸出到瀏覽器,這個過程需要經過很多步驟,才能響應用戶的請求。這個過程非常繁瑣,效率低下,直接造成了頁面響應速度慢的效果。從項目維護的角度上,傳統的開發模式,前端代碼和后端代碼耦合在一起,導致代碼混亂不堪,極大的降低了項目的可維護性,增加了維護成本。從開發角度來看,研發人員在開發過程中,不僅要設計后端架構還要兼顧前端展示,導致開發效率低下,延長開發周期。揚長避短,為什么不讓專業的人去做專業的事?

傳統的開發模式下的系統數據交互圖:

傳統開發模式的劣勢和不足:

  1. 開發出的軟件響應速度慢,質量差,用戶體現差。
  2. 前后端嚴重耦合,代碼混亂,可維護性差。
  3. 研發人員前后端兼顧,開發效率低下,研發周期變長。

為了解決傳統開發模式中的這些病痛,前后端分離框架應用而生。

什么是前后端分離?

在前后端分離的開發模式中,后端僅返回前端所需的數據,前端負責渲染HTML頁面,后端不再控制前端的效果,用戶看到什么樣的效果,從后端請求的數據如何加載到前端中,都由前端自己決定,后端僅僅需要提供一套邏輯對外提供數據即可,並且前端與后端的耦合度相對較低,在這種模式中,我們通常將后端開發的每個視圖都成為一個接口,或者API,前端通過訪問接口來對數據進行增刪改查。總結一句話,后台負責提供數據,前端負責數據展示,職責分離,分工明確。

對應的數據交互如下圖:

 

前后端分離的優缺點?

  • 為優質產品打造精益團隊

術業有專攻,通過前后端分離,讓前后端工程師只需要專注於前端或者后端的開發工作,有利於編寫出高質量的代碼,培養開發工程師獨特的技術特性,然后構建出一個全棧式的精益開發團隊。

  • 提高工作效率,分工更加明確

前后端分離的工作流程可以使得前端專心前端,后端關心后端,兩者開發同時進行,提高開發效率,頁面的增加和路由的修改也不必再去麻煩后端,開發更加靈活。

  • 降低服務器負載,系統性能提升

通過前端路由的配置,我們可以實現頁面的按需加載,無需一開始加載首頁便加載網站的所有資源,服務器也不再需要解析前端頁面,在頁面交互及用戶體驗上有所提升。

  • 增強代碼的可維護性

前后端分離后,應用的代碼不再是前后端混合,只有在運行期才會調用依賴關系,並且分層明確,應用代碼變得整潔清晰。

對於你們的團隊和產品有沒有必要前后端分離?

要回答這個問題,需要從團隊人員分配、人力資源和研發技能儲備這三個方面出發,進行探討決定。 如果團隊人員比較少、人力資源不足,項目不大我覺得沒必要前后端分離。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM