是的,大部分的網際網路公司都分成了前端團隊和後端團隊。在軟體設計中,我們有一個思想就是 Separation of Concerns (Soc),也就是 關注點分離 的思想。既然我們採用了前後端由不同團隊開發的模式,那麼我們應該有分治的思想,也就是說,我們要儘可能更多地關注自己從事的領域。
為什麼要前後端分離?
1.框架層面前後端倉庫的分離:整個前端工程使用git subtree從後端Git工程中切分出來。後端應用均使用同一個前端程式碼庫。前端只clone前端程式碼,啟動前端工程。前端使用sever來mock資料渲染ftl模板以及頁面展示
2.開發層面
前後端約定好介面,各自開發;節約時間(但聯調的時間可能增加),介面有更新及時溝通如何實現前後端分離?怎麼做前後端分離,我們認為的前後端分離前端:負責View和Controller層。後端:負責Model層,業務處理/資料處理等。
試想一下,如果前端掌握了Controller,我們可以做url design,我們可以根據場景決定在服務端同步渲染,還是根據view層資料輸出json資料,我們還可以根據表現層需求很容易的做 Bigpipe,Comet,Socket等等,完全是需求決定使用方式。
實際上,現在很多的成熟的網站都沒有做到上面的設計,很多時候後端也負責一部分View的渲染,例如很多的後端模版,有的時候這是很需要的。所以我們現在所談的前後端分離,更多的是基於上面我們所遇到的問題出發,即基於現有的前後端共同渲染View,但前端又能獨立開發的最佳化角度出發。
是的,大部分的網際網路公司都分成了前端團隊和後端團隊。在軟體設計中,我們有一個思想就是 Separation of Concerns (Soc),也就是 關注點分離 的思想。既然我們採用了前後端由不同團隊開發的模式,那麼我們應該有分治的思想,也就是說,我們要儘可能更多地關注自己從事的領域。
為什麼要前後端分離?
1.框架層面前後端倉庫的分離:整個前端工程使用git subtree從後端Git工程中切分出來。後端應用均使用同一個前端程式碼庫。前端只clone前端程式碼,啟動前端工程。前端使用sever來mock資料渲染ftl模板以及頁面展示
2.開發層面
前後端約定好介面,各自開發;節約時間(但聯調的時間可能增加),介面有更新及時溝通如何實現前後端分離?怎麼做前後端分離,我們認為的前後端分離前端:負責View和Controller層。後端:負責Model層,業務處理/資料處理等。
試想一下,如果前端掌握了Controller,我們可以做url design,我們可以根據場景決定在服務端同步渲染,還是根據view層資料輸出json資料,我們還可以根據表現層需求很容易的做 Bigpipe,Comet,Socket等等,完全是需求決定使用方式。
實際上,現在很多的成熟的網站都沒有做到上面的設計,很多時候後端也負責一部分View的渲染,例如很多的後端模版,有的時候這是很需要的。所以我們現在所談的前後端分離,更多的是基於上面我們所遇到的問題出發,即基於現有的前後端共同渲染View,但前端又能獨立開發的最佳化角度出發。