原文鏈接:http://blog.csdn.net/zuoninger/article/details/38842823
點擊閱讀原文
----------------------------------------------------
什么是單頁應用?
單頁應用是指在瀏覽器中運行的應用,它們在使用期間不會重新加載頁面。像所有的應用一樣,它旨在幫助用戶完成任務,比如“編寫文檔”或者“管理Web服務器”。可以認為單頁應用是一種從Web服務器加載的富客戶端。
單頁應用給傳統網站帶來的好處?
相對于傳統網站,我們認為單頁應用的主要好處是:
- 它提供了更加吸引人的用戶體驗。單頁應用可以做到一舉兩得:桌面應用的即時性和網站的可移植性和可訪問性。
- 單頁應用可以和桌面應用一樣渲染。
- 單頁應用只需要重繪界面上需要變化的部分。相比之下的傳統網站,許多用戶操作都會重繪整張頁面,結果是當瀏覽器從服務器獲取數據時,頁面會假死并有“閃爍”現象,然后再重繪頁面上的所有東西。如果頁面很大,服務器又繁忙,或者網絡連接很慢,這種“閃爍”現象會持續好幾秒鐘甚至是更長時間,用戶只得猜測頁面什么時候才可以再次使用。與單頁應用的快速渲染和即時反饋相比,這是一種很恐怖的體驗。
-
- 單頁應用可以擁有和桌面應用一樣的響應速度—盡可能地把(臨時的)工作數據和處理過程從服務端轉移到瀏覽器端,單頁應用由此把響應時間減至最小。
- 單頁應用在本地擁有大多數需要決策判斷的數據和業務邏輯,因此是很快的。只有數據驗證、授權和持久存儲必須要放在服務端。傳統網站的大多數應用邏輯在服務端,對大部分的用戶輸入的響應,他們必須等待一個“請求/響應/重繪”的循環周期。與接近即時響應的單頁應用相比,這需要花費幾秒鐘的時間。
-
- 單頁應用可以和桌面應用一樣,把它的狀態通知給用戶—當單頁應用確實必須等待服務器的響應時,可以動態地顯示進度條或者繁忙指示器,因此用戶不會因延時而困惑。相比傳統的網站,用戶實際上只能猜測頁面何時加載完并可用。
-
- 單頁應用像網絡一樣,幾乎隨處可以訪問—不像大多數的桌面應用,用戶可以通過任務網絡連接和適當的瀏覽器訪問單頁應用。如今,這一名單包括智能手機、平板電腦、電視、筆記本電腦和臺式計算機。
-
- 單頁應用可以像網站一樣即時地更新和發布—用戶不需要做任何事就能明白它的好處:他們只要重新加載瀏覽器就行了。維護軟件的多個并存版本的麻煩在很大程度上消除了。開發單頁應用的作者,在一天之內就能構建和更新很多次。桌面應用經常需要下載并且安裝新版本需要管理訪問權限,版本之間的間隔可能是很多個月或者很多年。
-
- 單頁應用和網站一樣,是跨平臺的—和大多數的桌面應用不一樣,精心編寫的單頁應用可以在提供現代HTML5瀏覽器的任意操作系統上運行。盡管這通常被認為是對開發人員的好處,但對很多同時使用多種設備的用戶來說是非常有用的,比如工作時用Windows,在家用Mac,Linux服務器,Android手機和Amazon平板電腦。
- 所有這些好處意味著,你可能會想把下個應用做成單頁應用。每次點擊后都會重新渲染整張頁面的笨拙網站,容易日益疏遠富有經驗的用戶。精心編寫的單頁應用具有互動和快速響應的界面,還伴有訪問網絡的功能,這將幫助我們把客戶留在屬于他們的地方:使用我們的產品。
-
關于單頁Web應用
單頁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代碼,復雜度可想而知,模塊化開發和設計的重要性不言而喻。
-------------
更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,教程,視頻請訪問:
http://www.cnblogs.com/zengmiaogen/p/7083694.html