AngularJS

AngularJS是一款由Google维护的开源JavaScript函式庫,用來協助單一頁面應用程式運行。它的目标是透過MVC模式(MVC)功能增强基于浏览器的应用,使开发和测试变得更加容易。在版本2(全面使用TypeScript)之后改名Angular,第N版以Angular N的形式命名。

Angular
開發者Google Inc.和社区。
初始版本2010年10月20日2010-10-20[1]
穩定版本
10.2.0
(2020年10月21日2020-10-21[2]
源代码库
编程语言JavaScript
操作系统跨平台,參見舊版瀏覽器支援
文件大小167 KB 生产环境版本
1.2 MB 開發环境版本
类型JavaScript函式庫
许可协议MIT许可证
网站angularjs.org

函式庫讀取包含附加自定義(標籤屬性)的HTML,遵從這些自定義屬性中的指令,並將頁面中的輸入或輸出與由JavaScript變量表示的模型綁定起來。這些JavaScript變量的值可以手工設置,或者從靜態或動態JSON資源中獲取。

Angular的哲學

Angular 2应用程序的体系结构。 主要构建块是模块,组件,模板,元数据,数据绑定,指令,服务和依赖注入。

Angular的理念是声明式编程應該用於構建用戶界面以及編寫軟件構建,而指令式編程非常適合來表示業務邏輯[3]框架採用並擴展了傳統HTML,通過雙向的數據綁定來適應動態內容,雙向的數據綁定允許模型和视图之間的自動同步。因此,Angular使得對DOM的操作不再重要並提升了可測試性。

設計目標:

  • 將應用邏輯與對DOM的操作解耦。這會提高代碼的可測試性。
  • 將應用程序的測試看的跟應用程序的編寫一樣重要。代碼的構成方式對測試的難度有巨大的影響。
  • 將應用程序的客戶端與伺服器端解耦。這允許客戶端和伺服器端的開發可以齊頭並進,並且讓雙方的復用成為可能。
  • 指導開發者完成構建應用程序的整個歷程:從用戶界面的設計,到編寫業務邏輯,再到測試。

Angular遵循軟件工程的MVC模式,並鼓勵展現,數據,和邏輯組件之間的松耦合。通過依賴注入(dependency injection),Angular為客戶端的Web應用帶來了傳統服務端的服務,例如獨立於视圖的控制。因此,後端減少了許多負擔,產生了更輕的Web應用。

雙向數據綁定

Angular在呈現和資料中間,可以簡單建立雙向的數據綁定。一旦建立雙向綁定,使用者輸入,會由Angular自動傳到一個變數中,再自動讀到所有綁到它的內容,更新它。效果上就是立即的資料同步。在程式碼中修改變數,也會直接反應到呈現的外觀上。不僅內容可以雙向綁定,其他諸如類別、寬度、高度等等,都可以和變數與使用者的輸入,綁定起來。

開發歷史

AngularJS在2009年由Miško Hevery和Adam Abrons開發,作為線上JSON儲存服務的軟體,它是以兆位元來計價,便於成為企業的應用服務。當初以"GetAngular.com"註册網域,但由於只有少量的註册用户,在兩人決定放棄這個商業想法前,就把Angular開源了。

Abrons後來離開了這個計劃,但在Google工作的Hevery和一些谷歌員工如Igor Minár和Vojta Jína等則繼續開發維護此函式庫。

发行

目前有兩個正在維護的穩定版本:1.3.x和1.4.x,更新频率約为每周一次或每两周一次. [4]

舊版瀏覽器支援

Angular在1.2之後的版本不再支援Internet Explorer 6和7.[5]在1.3之後的版本停止對Internet Explorer 8的支援.[6]

和Backbone.js的比较

REST [7]


依赖注入

参考文献

  1. . [2019-11-15]. (原始内容存档于2017-07-29).
  2. . GitHub. [2020-10-21].
  3. . [12 February 2013]. (原始内容存档于2013-05-20).
  4. . [2015-06-18]. (原始内容存档于2015-05-13).
  5. . Google. [2014-10-12]. (原始内容存档于2014-10-17).
  6. Minar, Igor. . AngularJS Blog. [2014-10-12]. (原始内容存档于2014-12-08).
  7. . [13 February 2013]. (原始内容存档于2014年8月24日).

延伸阅读

  • Green, Brad; Seshadri, Shyam. 1st. O'Reilly Media. March 22, 2013: 150 [2019-11-15]. ISBN 978-1449344856. (原始内容存档于2019-11-15).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.