什麼是前後端分離與前後端不分離
阿新 • • 發佈:2019-01-13
我起初認為前後端分離是,在軟體開發過程中前後端分工就叫做前後端分離,其實是前端所有用到的資料都是後端通過非同步介面的方式提供的,前端只管頁面的展示及效果。
前端和後端不分離的時候,前端的頁面也是由後端控制渲染的,兩者的耦合度非常高。在業務邏輯複雜的系統裡,我們最怕維護前後端混雜在一起的程式碼,因為沒有約束,M-V-C每一層都可能出現別的層的程式碼,日積月累,完全沒有維護性可言。這個時候出現了前後端分離這種模式,雖然前後端分離沒辦法完全解決這種問題,但是可以大大緩解。
那該怎麼做到前後端分離呢?
前端:負責View和Controller 層。
後端:負責Model層,業務處理/資料等。
試想一下,如果前端掌握了Controller,我們可以做url design,我們可以根據場景決定在服務端同步渲染,還是根據view層資料輸出json資料,我們還可以根據表現層需求很容易的做Bigpipe,Comet,Socket等等,完全是需求決定使用方式。
前後端分離的好處有哪些?
首先,前端程式碼中不再需要嵌入後端的程式碼,降低了前後端的耦合性,也使前端程式碼的可讀性大大提高了。
其次,前後端分離使得雙方的任務更加的明確,並且開發時可以前後端並行開發,使得開發效率更高,也更靈活。
最後,因為雙方的分工明確,程式碼可讀性提高,也降低了後期的維護成本
小結:
我覺得前後端分離的好處很多,但是也不一定適合全部的情況,具體前端和後端是否分離還是要視情況而定。