返回

單一頁面應用(Single Page Application)介紹

單一頁面應用(Single Page Application, SPA)或稱單頁式應用程式,在架構上對應的是多重頁面應用(Multiple Page Application, MPA)。

單一頁面應用需依賴JavaScript為基礎來運作,常用的SPA engine有AngularJS、Vue.js、React、Meteor.js,在Liferay則支援SennaJS

SPA優點

  • 使用者體驗(User Experience) : SPA 提供了流暢、無頓挫的使用者體驗,因為只有部分內容需要重新載入,而不是整個頁面。
  • 效能(Performance) : 由於僅需在初次載入時下載一個完整的頁面,後續的內容切換只需要從伺服器獲取必要的資料,節省了額外的網路請求和資源負擔。
  • 前後端分離(Separation of Frontend and Backend) : SPA 可以使前端和後端的開發團隊獨立工作,並且可以使用不同的技術堆疊來實現前端和後端。
  • 互動性(Interactivity) : SPA 可以實現豐富的互動性,例如即時驗證、自動完成和動態內容加載等。
  • 高度可擴展性(Scalability) : SPA 可以使用 Web API 來連接各種後端服務,並支持跨平台和跨設備的應用程式開發。

SPA缺點

  • 初次載入時間(Initial Load Time) : SPA 需要在初次載入時下載整個應用程式的程式碼和資源,可能導致較長的載入時間,特別是在網速較慢或設備性能較低的情況下。
  • SEO(Search Engine Optimization)困難 : 由於大部分內容是在客戶端動態生成,搜索引擎可能無法正確解析和索引SPA的內容,導致SEO困難。
  • 安全性(Security) : 由於SPA將大部分邏輯移至客戶端,可能面臨安全風險,如跨站腳本攻擊(XSS)和跨站點請求偽造(CSRF)。
  • 靠JavaScript支持(Dependency on JavaScript) : SPA 需要客戶端的JavaScript支持,如果使用者的瀏覽器禁用了JavaScript,則無法正常使用。

內容關鍵字 內容關鍵字