單頁Web應用優缺點

1、定義
單頁 Web 應用 (single-page application 簡稱爲 SPA) 是一種特殊的 Web 應用。它將全部的活動侷限於一個Web頁面中,僅在該Web頁面初始化時加載相應的HTML、JavaScript 和 CSS。一旦頁面加載完成了,SPA不會由於用戶的操做而進行頁面的從新加載或跳轉。取而代之的是利用 JavaScript 動態的變換HTML的內容,從而實現UI與用戶的交互。因爲避免了頁面的從新加載,SPA 能夠提供較爲流暢的用戶體驗。後端

2、優缺點瀏覽器

單頁Web程序的出現是富客戶端發展的必然結果,可是該技術也是有些侷限性,因此採用以前須要瞭解清楚它的優缺點。服務器

一、優勢:app

1).良好的交互體驗框架

用戶不須要從新刷新頁面,獲取數據也是經過Ajax異步獲取,頁面顯示流暢。異步

2).良好的先後端工做分離模式搜索引擎

單頁Web應用能夠和RESTful規約一塊兒使用,經過REST API提供接口數據,並使用Ajax異步獲取,這樣有助於分離客戶端和服務器端工做。更進一步,能夠在客戶端也能夠分解爲靜態頁面和頁面交互兩個部分。索引

3).減輕服務器壓力接口

服務器只用出數據就能夠,不用管展現邏輯和頁面合成,吞吐能力會提升幾倍;遊戲

4).共用一套後端程序代碼
不用修改後端程序代碼就能夠同時用於Web界面、手機、平板等多種客戶端;
二、缺點:

1).SEO難度較高

因爲全部的內容都在一個頁面中動態替換顯示,因此在SEO上其有着自然的弱勢,因此若是你的站點對SEO很看重,且要用單頁應用,那麼就作些靜態頁面給搜索引擎用吧。

2).前進、後退管理

因爲單頁Web應用在一個頁面中顯示全部的內容,因此不能使用瀏覽器的前進後退功能,全部的頁面切換須要本身創建堆棧管理,固然此問題也有解決方案,好比利用URI中的散列+iframe實現。

3).初次加載耗時多

爲實現單頁Web應用功能及顯示效果,須要在加載頁面的時候將JavaScript、CSS統一加載,部分頁面能夠在須要的時候加載。因此必須對JavaScript及CSS代碼進行合併壓縮處理,若是使用第三方庫,建議使用一些大公司的CDN,所以帶寬的消耗是必然的。

3、框架AngularJS
AngularJS是一個 MV* 框架,最適於開發客戶端的單頁面應用。它不是個功能庫,而是用來開發動態網頁的框架。它專一於擴展HTML的功能,提供動態數據綁定(data binding),並且它能跟其它框架(如jQuery)合做融洽。

若是你要開發的是單頁應用,AngularJS就是你的上上之選。Gmail、Google Docs、Twitter和Facebook這樣的應用,都很能發揮AngularJS的長處。可是像遊戲開發之類對DOM進行大量操縱、又或者單純須要極高運行速度的應用,就不是AngularJS的用武之地了。

相關文章
相關標籤/搜索