一個線上應用服務系統,目前來說大抵都會分成前端與後端
前端專職顯示以及跟Customer互動
後端專職商業邏輯的運算,以及資料的儲存
後端系統很容易看到MVC架構,以C# .net MVC為例
MVC中的V(即View)即專責在準備要顯示給Customer的內容上
當在開發View的部分時,如果是使用像Razor這樣的語法開發
那後端可能改個class name,即使資料格式沒動到,也會影響到View
又或者新增一個頁面,就必須跟著更新router,bundler的設定,等等等
前端跟後端很大程度上是綁在一起的
後端光是開發一個功能,可能就要擔心會影響到前端的什麼東西
若系統已經開發的很大的話,光維護就會耗費相當大的精力
前後端分離後,中間僅透過API進行資料的交換,那事情便會單純許多
前後端兩邊的邊界,就是API的資料格式
後端可以專注在資料的處理,只要確定有滿足資料格式的定義
而前端可以專注在顯示邏輯的開發,降低對資料源,業務核心邏輯的處理
這大大的降低了前後兩端開發所要考慮的範疇
職責變的專精,大幅降低牽一髮動全身的風險
這邊稍微舉例前後端可能需要注意之事項
前端 <----> 後端 <----> DB
資料的實際儲存地
但為了簡化教學範例的複雜度,這邊會在AP上宣告靜態物件來模擬DB的資料儲存
若要在正式系統上使用靜態物件儲存資料,請務必要小心謹慎,避免預期外之資料存取
範例專案請到此下載
npm install -g @vue/cli
TodoList
,跟一個DoneList
,每個list中可以放入Task
Task
上可以記錄Title
跟Content
不需要
能看到剛剛的資料需要
能看到剛剛的資料下一篇文章,將開始前端部份的說明