什麼是先後端分離與先後端不分離

  我起初認爲先後端分離是,在軟件開發過程當中先後端分工就叫作先後端分離,實際上是前端全部用到的數據都是後端經過異步接口的方式提供的,前端只管頁面的展現及效果。前端

 

  前端和後端不分離的時候,前端的頁面也是由後端控制渲染的,二者的耦合度很是高。在業務邏輯複雜的系統裏,咱們最怕維護先後端混雜在一塊兒的代碼,由於沒有約束,M-V-C每一層均可能出現別的層的代碼,日積月累,徹底沒有維護性可言。這個時候出現了先後端分離這種模式,雖然先後端分離沒辦法徹底解決這種問題,可是能夠大大緩解。json

 

  那該怎麼作到先後端分離呢?後端

 

  前端:負責ViewController層。前後端分離

  後端:負責Model層,業務處理/數據等。異步

 

 

 

  試想一下,若是前端掌握了Controller,咱們能夠作url design,咱們能夠根據場景決定在服務端同步渲染,仍是根據view層數據輸出json數據,咱們還能夠根據表現層需求很容易的作Bigpipe,Comet,Socket等等,徹底是需求決定使用方式。url

 

  先後端分離的好處有哪些?spa

 

  首先,前端代碼中再也不須要嵌入後端的代碼,下降了先後端的耦合性,也使前端代碼的可讀性大大提升了。blog

  其次,先後端分離使得雙方的任務更加的明確,而且開發時能夠先後端並行開發,使得開發效率更高,也更靈活。接口

  最後,由於雙方的分工明確,代碼可讀性提升,也下降了後期的維護成本ip

  

  小結:

  我以爲先後端分離的好處不少,可是也不必定適合所有的狀況,具體前端和後端是否分離仍是要視狀況而定。

相關文章
相關標籤/搜索