淺談前後端分離開發模式

目錄

爲什麼要前後端分離?

什麼是前後端分離?

前後端分離的優缺點?


爲什麼要前後端分離?

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

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

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

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

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

什麼是前後端分離?

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

對應的數據交互如下圖:

 

前後端分離的優缺點?

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

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

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

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

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

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

  • 增強代碼的可維護性

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

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

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

參考:https://mp.weixin.qq.com/s?__biz=MzI4Njc5NjM1NQ==&mid=2247488676&idx=2&sn=0af24a3018ac8ef01040e0c9c265f0d2&chksm=ebd62b88dca1a29e1707ecc3cfe1e5be859df8fd077ba09c5da3b6981f57d8956e91defb1fad&mpshare=1&scene=23&srcid=#rd

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章