什麼是 SPA ?

SPA(Single Page Application)顧名思義是一個只有一個頁面的應用程式,也就是說網頁間並不會跳轉頁面就可以達到所有功能。

傳統的網頁主要採用「Multi-page」的設計模式,一個功能會有一個動作及一個頁面。主要是因為過去是以 Client Request - Server Response 的溝通方式,一個需求一個畫面的模式產生網頁畫面。但隨著網頁技術的進步及使用者體驗的考量,能夠透過 HTML 與 AJAX 的配合,能夠部分更新網頁上資料,而不用整個畫面重新載入。SPA 就是在特性之下,衍伸出的一種新時代的網頁設計模式。

Multi-page 與 SPA 的 Lifecycle

為什麼 SPA ?

SPA 主要原因有兩點:部分更新跟前後端分離

部分更新

「Single-page」的 Web APP 只有一個頁面,利用 AJAX 來更新部分網頁資料。 改善了過去必須因為一個小地方更新,而使得整個網頁必須重新載入的困擾。這個改變不只是將過去的多個功能,拼成在同一個頁面而已,還必須考量到使用者的使用體驗 ,如何讓使用者更輕易地感受到與 Desktop application 的使用感。

前後端分離

SPA 基於前後端分離的規則,後端負責產生計算資料,前端負責頁面的呈現。透過 Client 及 Server 端的區分,讓前後端有更加的職責區分。

SPA 帶來的優點

  • 避免頁面閃爍(因為不用一直重新載入)
  • 畫面由前端產生
  • 更好的使用者體驗(UX)及更快的互動性

Reference

[1] Frontend Engineering-認識 Single Page Application(SPA)
[2] I3S-Awesome
[3] INTRODUCTION TO SINGLE PAGE APPLICATION BY WEBINAR


License


本著作由 Chang, Wei-Yaun (v123582) 製作,
創用CC 姓名標示-相同方式分享 3.0 Unported授權條款釋出。