AngularJS

維基百科,自由的百科全書
(重新導向自Angular.js
跳至導覽 跳至搜尋
AngularJS
File:AngularJS logo.svg
開發者Google Inc.和社區。
首次發布2010年10月20日,​15年前​(2010-10-20[1]
最終版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    源代碼庫
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    編程語言JavaScript
    引擎
      Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
      操作系統跨平台,參見舊版瀏覽器支援
      文件大小167 KB 生產環境版本
      1.2 MB 開發環境版本
      類型JavaScript函式庫
      許可協議MIT許可證
      網站angularjs.org

      AngularJS 是一款由Google維護的開源JavaScript函式庫,用來協助單一頁面應用程式運行,目前已停止維護[2]。它的目標是透過MVC模式功能增強基於瀏覽器的應用,使開發和測試變得更加容易。在版本2(全面使用TypeScript)之後改名Angular,第N版以Angular N的形式命名。

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

      Angular的哲學[編輯]

      File:Architecture of an Angular 2 application.png
      Angular 2應用程序的體系結構。 主要構建塊是模塊,組件,模板,元數據,數據綁定,指令,服務和依賴注入。

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

      設計目標:

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

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

      Angular主要的指令(自定義標籤)[編輯]

      雙向數據綁定[編輯]

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

      開發歷史[編輯]

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

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

      發行[編輯]

      目前AngularJS已經停止維護,官方最終穩定版本為1.8.2。只剩下商業公司如 herodevs 自行分支並提供付費的延長安全性更新到 2040 年。

      舊版瀏覽器支援[編輯]

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

      和Backbone.js的比較[編輯]

      REST [6]


      依賴注入

      參考文獻[編輯]

      1. ^ Earliest known releases. [2019-11-15]. (原始內容存檔於2017-07-29). 
      2. ^ AngularJS. docs.angularjs.org. [2022-07-14]. (原始內容存檔於2022-03-16). 
      3. ^ What Is Angular?. [12 February 2013]. (原始內容存檔於2013-05-20). 
      4. ^ AngularJS: Developer Guide: Internet Explorer Compatibility. Google. [2014-10-12]. (原始內容存檔於2014-10-17). 
      5. ^ Minar, Igor. AngularJS 1.3: a new release approaches. AngularJS Blog. [2014-10-12]. (原始內容存檔於2014-12-08). 
      6. ^ Javascript Frameworks And Data Binding. [13 February 2013]. (原始內容存檔於2014年8月24日). 

      延伸閱讀[編輯]

      外部連結[編輯]