開發一個web管理系統,是否要采用如今流行的前后端分離模式?
首先要從為什么會出現前后端分離說起,前后端分離的目的。
1.讓前端工程師(前端)和后端工程師(后端)們能夠更加專注於自己的領域
傳統的開發模式是由前端負責將UI設計好的頁面切成對應的靜態網頁,然后交由后端整合數據,實現網頁的數據動態化。
這種開發模式下,前端不會去關注整個系統的業務流程是怎樣的,所以導致后端在將拿到的靜態頁面整合成動態頁面時常會出現頁面展示與預期的效果不一樣,需要前端不斷的去調整。而后端則要痛苦的去面對一堆自己並不完全了解的前端代碼,有時甚至需要自己動手寫js代碼。這樣就造成了前端對系統理解過低,后端工作量過高,開發效率過慢的情況。
2.讓后端開發一次,前端可以隨意改變,減少維護成本,縮短開發時長
由於現在網頁可以在各種各樣的設備瀏覽,常見的如pc、手機等,這時就需要開發多套兼容不同設備顯示的系統。而使用前后端分離的好處立馬顯現出來,后端只需要開發好一套數據接口,前端開發兼容各種設備的n套網頁,將后端寫好的數據接口對接到相應的頁面上,就可以實現多種設備的瀏覽。有一句形象的話:“換湯不換葯”,無論包裝成什么樣,數據還是同一套數據。不需要后端針對每一個系統都開發一次。
那么,既然前后端分離的好處這么明顯,那干脆就都用前后端分離不就行了,還用討論什么?
前后端分離固然好,但是並不是每一個項目都需要兼容若干種設備,也並不是每一個開發團隊都有分工明確的前端和后端。
想象自然很美好,但是現實往往是殘酷的,有時一個項目可能就只有一個開發者,這個開發者既負責前端工作,也負責后端工作,也就是所謂的“全棧工程師”。當一個項目的利潤不高,為了減小成本,就只能用一個后端,由后端負責整個系統的開發,而前后端分離相當於要把原來的一套系統,拆分成兩套獨立的系統——前端系統、后端api系統,很顯然,對於一個開發者來說,一套系統肯定比開發兩套系統要更簡單的多。
說到這里,結論應該很明確了,web系統是否要前后端分離?
要看實際的情況而定,假如是一個分工明確,人數多的項目團隊,可以使用前后端分離,這樣有利於后期維護。而如果開發人員較少,或者只需要在一種設備上顯示這個時候就該考慮放棄使用前后端分離,直接使用傳統的開發模式。畢竟巧婦難為無米之炊,只有合適的才是最好的。