1. 程式人生 > >angular-單頁面應用程序

angular-單頁面應用程序

開發人員 containe 數據接口 發送請求 href 站點 response 最大的 require

我們都知道angularjs是單一頁面應用程序,那什麽是單一頁面應用程序呢?單一頁面應用程序到底有什麽好處呢?

下面我們來看一下:

首先我覺得可以把頁面的響應模式分成這樣大概3個階段:

1. 最傳統的階段:什麽都得刷新

  最傳統的web站點中,客戶端向服務器發送請求,服務器響應之後把生成好的HTML通過Response返回給客戶端,這樣一來一往。體驗當然是最不好的,同時對服務器來說也需要處理的更多。

2. 頁面局部刷新

  至從Ajax火起來之後,大家就想起了這一點。頁面某一塊局部的數據可以在頁面在客戶端加載完之後,再從新發起一個請求去把某一塊的HTML代碼再拿下來顯示到頁面中。這裏面有兩種做法,一種是後臺直接把HTML生成好了直接返回,另一種做法是服務器只返回數據,客戶端再拼出HTML。采取第二種做法的時候,有人可能已經用上了先進的模板技術,有人可能還在使用強大的字符串拼接技術。 不管怎麽說,我們進步了,用戶可以先看到頁面,然後某一塊慢慢加載,用戶感覺爽了,再也不是一片空白在那裏轉啊轉啊的了。

3. 整站單頁

  整站單頁的時代到來最早是在2005年,當然那時候還只是一個術語。具體的例子,我最早接觸到的是Gmail,當然最簡單的單頁其實很簡單比如說某Q郵箱,整了個Frame在頁面裏面,不管你怎麽點,它懶是感覺沒有刷新呀。這裏先簡單說說我們要實現的這個單頁和用Frame實現的單頁相比有什麽優勢。

  • 擁有良好定義的URL,對用戶和搜索引擎都更友好。
  • 可以實現銜接動畫,這一點在移動設備上特別重要。
  • 頁面生命周期對比。

優勢

  • 對於用戶而言,更好的用戶體驗,特別體現在可移動端和可觸摸設備上
  • 對於開發都而言,在定義了良好的分層架構之後,UI與數據可以完全分離,只要後臺的數據接口不改變,後臺的邏輯可以隨意的改動頁不影響前端展示,而在加上前端
    MVVM框架之後,我們前端的數據也可以與UI完成分離。

難題

  • 最大的難題是Javascript部分,由於全部在一個頁面,我們需要處理變量覆蓋,變量作用域,對於前端開發人員來說要求會更上一層樓
  • 對於全球化,授權等模塊都需要重新考慮和設計以便更適合這種單頁程序的開發。

View Container

  這是一個客戶端的模板容器,在requireJS的基礎封裝了一下,第一次調用某個模板的時候會去服務器上拿,後來就直接用客戶端的了。

為什麽模板不直接用html的?

  這個問題我也想過,用純html的就不必走mvc那一套生命周期了,服務器壓力減少不小。但是考慮到我們view當中的授權模塊和全球化資源,其實是可以直接在服務器端處理好再返回的。而且我也偷了一個懶,沒有把這些放在客戶去實現。

angular-單頁面應用程序