單頁面應用
一個項目中只有一個完整的html頁面,其他的都是部分的html片段組成。頁面跳轉只是局部刷新,不會重新加載全部資源。片段之間的切換快,比較容易實現轉場動畫。
多頁面應用
一個項目是由多個完整的html頁面組成,頁面跳轉所有的資源都要重新加載,頁面之間的切換會出現卡頓空白的問題,不容易實現切換動畫等l
單頁面VS多頁面
單頁面應用(SPA) | 多頁面應用(MPA) | |
---|---|---|
組成 | 一個外殼頁面和多個片段頁面組成 | 多個完成的html頁面組成 |
頁面跳轉 | 僅片段頁面之間的切換,共用外殼頁面 | 從一個完整的頁面跳轉到另外一個完整頁面 |
刷新方式 | 頁面片段的局部刷新 | 整頁刷新 |
url模式 | a.com#pageone | a.com/pageone.html |
用戶體驗 | 頁面間片段切換快,用戶體驗好 | 頁面間切換慢,不流暢,用戶體驗差 |
轉場動畫 | 容易實現轉場動畫 | 不容易實現轉場動畫 |
頁面間數據傳遞 | 依賴url,cookie,localStorage等,實現麻煩 | 因為在一個頁面內,頁面片段間傳遞數據容易 |
搜索引擎優化 | 需要單獨方案,實現較為困難,不利於SEO檢索 | 直接可以實現,比較容易實現 |
使用范圍 | 高要求的體驗度,追究界面流暢的應用 | 適用追求高支持度的SEO的應用 |
開發成本 | 較高,需要借助專業的框架 | 較低,但是頁面重復代碼比較多 |
維護成本 | 相對容易 | 想多復雜 |