Angularjs

AngularJS Concepts 

AngularJS是什麼?

AngularJS是一個開源Web應用程序框架。它最初是由MISKO Hevery和Adam Abrons於2009年開發。如今是由谷歌維護。它的最新版本是1.3.14。html

特性

  • AngularJS是一個功能強大的基於JavaScript開發框架用於建立富互聯網應用(RIA)。設計模式

  • AngulajJS爲開發者提供的選項(使用JavaScript)在一個乾淨的MVC(模型 - 視圖 - 控制器)的方式來編寫客戶端應用程序。數組

  • AngularJS寫的應用都是跨瀏覽器兼容。AngularJS使用JavaScript代碼自動處理適應每種瀏覽器。瀏覽器

  • AngularJS是開源的,徹底免費的,而且由數千名世界各地的開發者開發維護。它是根據Apache許可證2.0版許可發佈。安全

整體來講,AngularJS是一個用來構建大型應用,高性能的Web應用程序的框架,同時使它們易於維護。服務器

核心特徵

如下是AngularJS中最重要的核心功能:框架

  • 數據綁定: 模型和視圖組件之間的數據自動同步。函數

  • 適用範圍: 這些對象參考模型。它們充當控制器和視圖之間的膠水。性能

  • 控制器: 這些Javascript函數綁定到特定的範圍。單元測試

  • 服務: AngularJS配有多個內置服務,例如 $http 可做爲一個XMLHttpRequest請求。這些單一對象在應用程序只實例化一次。

  • 過濾器: 從一個數組的條目中選擇一個子集,並返回一個新的數組。

  • 指令: 指令是關於DOM元素標記(如元素,屬性,CSS等等)。這些能夠被用來建立做爲新的,自定義部件的自定義HTML標籤。AngularJS設有內置指令(如:ngBind,ngModel...)

  • 模板:這些符合從控制器和模型信息的呈現的視圖。這些能夠是單個文件(如index.html),或使用「諧音」在一個頁面多個視圖。

  • 路由: 它是切換視圖的概念。

  • 模型視圖: MVC是一個設計模式將應用劃分爲不一樣的部分(稱爲模型,視圖和控制器),每一個都有不一樣的職責。 AngularJS並無傳統意義上的實現MVC,而是更接近於MVVM(模型 - 視圖 - 視圖模型)。 AngularJS團隊將它做爲模型視圖。

  • 深層連接: 深層連接,可使應用程序狀態進行編碼在URL中而可以添加到書籤。應用程序可從URL恢復到相同的狀態。

  • 依賴注入: AngularJS有一個內置的依賴注入子系統,開發人員經過使應用程序從而更易於開發,理解和測試。

AngularJS的優勢

  • AngularJS提供一個很是乾淨和維護的方式來創造單頁的應用。

  • AngularJS提供數據綁定功能在HTML中,從而給用戶提供豐富和響應的體驗

  • AngularJS代碼可進行單元測試。

  • AngularJS使用依賴注入和利用關注點分離。

  • AngularJS提供了可重用的組件。

  • 使用AngularJS,開發人員編寫更少的代碼,並得到更多的功能。

  • 在AngularJS中,視圖都是純HTML頁面,並用JavaScript編寫控制器作業務處理。

AngularJS應用程序能夠在全部主要的瀏覽器和智能手機,包括Android和iOS系統的手機/平板電腦上運行。

AngulaJS的缺點

雖然AngularJS自帶不少優勢,但咱們應該考慮如下幾點(缺點):

  • 不安全:由於只是JavaScript一種框架,由AngularJS編寫的應用程序是不安全的。服務器端身份驗證和受權是必須用來保證應用程序的安全。

  • 不可降解:若是應用程序的用戶禁用JavaScript,那最後用戶看到的只是基本頁面,僅此而已。

相關文章
相關標籤/搜索