單頁
Web應用(single page web application,SPA),就是隻有一張Web頁面的應用。單頁應用程序 (SPA) 是加載單個HTML 頁面並在用戶與應用程序交互時動態更新該頁面的Web應用程序。[1]
瀏覽器一開始會加載必需的HTML、CSS和JavaScript,全部的操做都在這張頁面上完成,都由JavaScript來控制。所以,對單頁應用來講模塊化的開發和設計顯得至關重要。
速度:更好的用戶體驗,讓用戶在web app感覺native app的速度和流暢,
·MVC:經典MVC開發模式,先後端各負其責。
·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]
-
用循環的視角審視Web應用開發
-
框定一個一致的SPA圖形用戶界面(GUI)和模型
-
將SPA的原則帶回服務器端
-
SPA協調的起點是認識到SPA與腳本和網頁編程有關,而不是與後端應用有關。SPA的主要目標是圍繞着Web 2.0頁面時間交互原則重構Web應用,以便體驗可容易地轉化到多個設備中,並對用戶有效。這意味着首先要抱着支持這樣一個邏輯活動爲目標來設計用戶交互,該活動應該涉及單頁面與一套腳本,實現一次加載並執行直到活動完成。
一旦用戶交互設計完成,下一步就是框定一個本地狀態或事件模型,該模型應能描述頁面處理與用戶的交互及與任何後端應用交互。儘管這並不是不可能,可是開發與服務器端功能多組件交互的SPA會更加困難。
這會產生一種要對應用服務器進行重構的誘因,其目的是爲了以1:1的比例來支持SPA。就最大程度上而言,該模型應該讓本身的變量及命名空間本地化,並經過應用的服務器端與其餘SPA交互。這是爲了減小對於用本地SPA控制器或模型來在多個SPA之間保留狀態的需求。[3]