個人見解如下:
單頁面應用(SinglePage Web Application )簡稱:SPA
多頁面應用 (MultiPage Application) 簡稱:MPA
組成一個外殼和多個頁面片段組成多個完整頁面,構成資源共用(css,js),只需在外殼部分加載不共用,每個頁面都需要加載
區別:
刷新方式
SPA: 頁面局部刷新或更改
MPA: 整頁刷新
url模式
SPA: a.com/#/pageone a.com/#/pagetwo
MPA: a.com/pageone.html a.com/pagetwo/html
用戶體驗:
SPA: 頁面片段間時間的切換快,用戶體驗良好
MPA:頁面切換加載緩慢,流暢度不夠,用戶體驗比較差
轉場動畫:
SPA: 容易實現轉場動畫
MPA:無法實現專場動畫
數據傳遞:
SPA: 容易實現數據傳遞,方法有很多(通過路由帶參數傳值,Vuex傳值等等)
MPA: 依賴url傳參,cookie , 本地存儲等
搜索引擎優化(SEO)
SPA: 需要單獨方案,實現較為困難,不利於SEO檢索,可利用服務器端渲染(SSR)優化
MPA:實現方法容易
使用范圍:
SPA:高要求的體驗度、追求界面流暢的應用
MPA:適用於追求高度支持搜索引擎的應用
開發成本:
SPA: 較高,長需要借助專業的框架
MPA:較低,但也頁面代碼重復的多
維護成本:
SPA:相對容易