複製鏈接
請複製以下鏈接發送給好友

SPA

(單頁應用程序)

鎖定
單頁Web應用(single page web application,SPA),就是隻有一張Web頁面的應用,是加載單個HTML 頁面並在用户與應用程序交互時動態更新該頁面的Web應用程序。
中文名
單頁應用程序
外文名
single page web application
釋    義
只有一張Web頁面的應用
使用方向
加載單個HTML頁面的程序
簡    稱
SPA
技術範圍
網站開發技術

SPA應用介紹

單頁Web應用(single page web application,SPA),就是隻有一張Web頁面的應用。單頁應用程序 (SPA) 是加載單個HTML 頁面並在用户與應用程序交互時動態更新該頁面的Web應用程序。 [1]  瀏覽器一開始會加載必需的HTML、CSS和JavaScript,所有的操作都在這張頁面上完成,都由JavaScript來控制。因此,對單頁應用來説模塊化的開發和設計顯得相當重要。

SPA主要特點

速度:更好的用户體驗,讓用户在web app感受native app的速度和流暢,
·MVVM:經典MVVM開發模式,前後端各負其責。
·ajax:重前端,業務邏輯全部在本地操作,數據都需要通過AJAX同步、提交。
·路由:在URL中採用#號來作為當前視圖的地址,改變#號後的參數,頁面並不會重載。
單頁Web應用(single page web application,SPA)是當今網站開發技術的弄潮兒,很多傳統網站都在或者已經轉型為單頁Web應用,新的單頁Web應用網站(包括移動平台上的)也如雨後春筍般湧現在人們的面前,如Gmail、Evernote、Trello等。如果你是一名Web開發人員,卻還沒開發過或者甚至是沒有聽説過單頁應用,那你已經Out很久了。
單頁Web應用和前端工程師們息息相關,因為主要的變革發生在瀏覽器端,用到的技術其實還是HTML+CSS+JavaScript,所有的瀏覽器都原生支持,當然有的瀏覽器因為具備一些高級特性,從而使得單頁Web應用的用户體驗更上一層樓。關於單頁應用的優點和缺點,網上講解的文章有很多,這裏就不展開論述了。 單頁Web應用,顧名思義,就是隻有一張Web頁面的應用。瀏覽器一開始會加載必需的HTML、CSS和JavaScript,之後所有的操作都在這張頁面上完成,這一切都由JavaScript來控制。因此,單頁Web應用會包含大量的JavaScript代碼,複雜度可想而知,模塊化開發和設計的重要性不言而喻。 [2] 

SPA開發流程

  • 用循環的視角審視Web應用開發
  • 框定一個一致的SPA圖形用户界面(GUI)和模型
  • 將SPA的原則帶回服務器端
  • 聚集於對合適的應用進行早期SPA開發 [3] 
SPA協調的起點是認識到SPA與腳本和網頁編程有關,而不是與後端應用有關。SPA的主要目標是圍繞着Web 2.0頁面時間交互原則重構Web應用,以便體驗可容易地轉化到多個設備中,並對用户有效。這意味着首先要抱着支持這樣一個邏輯活動為目標來設計用户交互,該活動應該涉及單頁面與一套腳本,實現一次加載並執行直到活動完成。
一旦用户交互設計完成,下一步就是框定一個本地狀態或事件模型,該模型應能描述頁面處理與用户的交互及與任何後端應用交互。儘管這並非不可能,但是開發與服務器端功能多組件交互的SPA會更加困難。
這會產生一種要對應用服務器進行重構的誘因,其目的是為了以1:1的比例來支持SPA。就最大程度上而言,該模型應該讓自己的變量及命名空間本地化,並通過應用的服務器端與其他SPA交互。這是為了減少對於用本地SPA控制器或模型來在多個SPA之間保留狀態的需求。 [3] 
參考資料