SPA架構的好處!
SPA 就是所謂的 單頁面應用(Single Page Application)
SPA單頁面應用的優勢相當明顯:
前後端職責分離,架構清晰:前端進行交互邏輯,後端負責數據處理。
前後端單獨開發、單獨測試。
良好的交互體驗,前端進行的是局部渲染。避免了不必要的跳轉和重複渲染。
當然,SPA也有它自身的缺點,例如不利於搜尋引擎優化等等
具體化一點來說,在製作流程上SPA架構可以讓前端先行設計開發,先設計並製作每個畫面,比如頁面、導航、對話框等等,然後透過API串接的方式完成需要與後端取送資料的部分,進而完成完整的網站功能。
而且這樣前端能保有最大的自由度,想用jQuery 或 BootStrap 等都無所謂,只要能和後端溝通就行了
這樣也有好處,碰到前端視覺化較重的專案(例如廣告行銷網站),通常視覺可能都是來來回回的修改,但卻和API溝通、後端邏輯、資料庫存取無關
這樣設計可以自行修正,不會影響到原本的功能。
若是傳統 Webform 模式,可能後端工程師也會跟著疲於奔命,忙著修改 MasterPage或替換元件。又或者HTML標籤結構改變了導致後端也跟著需要異動,這些煩人事情都不會發生。
就算是 MVC 架構,仍免不了後端工程師處理的需求,而且也經不起畫面來來回回頻繁修改。
而且前端因為透過API與後端溝通,所以實際上後端用那一種語言都無所謂,只要溝通的資訊正確即可。
這種架構其實技術上不新,前端就是利用Ajax與後端溝通,溝通往來的資料格式就使用 JSON(RESTful),後端用.Net/PHP 或那種語言都可以,後端連接資料庫當然更是後端最常做的事情,不會有任何問題。
這樣前端終究避免了過多的HTML RELOAD,也不用 Submit 了,當然也沒有 WebForm 的 Postback,前端怎麼改也不關後端的事情了,後端只要注意好傳送資料格式、安全性問題即可。
簡單地說,就是後端在寫API處理資料存取與邏輯,前端處理呈現與互動,各自開發只要遵循溝通格式即可。
SPA 的網頁實際上感受是可以類似 RIA的,也和手機上的App或 PC的應用程式相同,不再有Reload,不再有Postback,Cache前後端各自處理,測試可以各自測試