求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

Angular

事實揭露 揭密真相
前往: 導覽搜尋

來自 站酷網 的圖片

Angular誕生於2009年,由Misko Hevery 等人創建,後為Google所收購。是一款優秀的前端JS框架,已經被用於Google的多款產品當中。AngularJS有着諸多特性,最為核心的是:MVC(Model–view–controller)、模塊化、自動化雙向數據綁定、語義化標籤、依賴注入等等。

AngularJS 是一個JavaScript框架。它是一個以 JavaScript 編寫的庫。它可通過 <script> 標籤添加到HTML頁面。

AngularJS 通過指令擴展了 HTML,且通過表達式綁定數據到 HTML。

AngularJS 是以一個 JavaScript 文件形式發布的,可通過 script 標籤添加到網頁中。

研發背景

AngularJS是為了克服HTML在構建應用上的不足而設計的。HTML是一門很好的為靜態文本展示設計的聲明式語言,但要構建WEB應用的話它就顯得乏力了。所以我做了一些工作(你也可以覺得是小花招)來讓瀏覽器做我想要的事。

通常,我們是通過以下技術來解決靜態網頁[1]技術在構建動態應用上的不足:

類庫-類庫是一些函數[2]的集合,它能幫助你寫WEB應用。起主導作用的是你的代碼,由你來決定何時使用類庫。類庫有:jQuery等

框架-框架是一種特殊的、已經實現了的WEB應用,你只需要對它填充具體的業務邏輯。這裡框架是起主導作用的,由它來根據具體的應用邏輯來調用你的代碼。框架有:knockout、sproutcore等。

AngularJS使用了不同的方法,它嘗試去補足HTML本身在構建應用方面的缺陷。AngularJS通過使用我們稱為指令(directives)的結構,讓瀏覽器能夠識別新的語法。例如:

使用雙大括號{{}}語法進行數據綁定;

使用DOM控制結構來實現迭代或者隱藏DOM片段;

支持表單和表單的驗證;

能將邏輯代碼關聯到相關的DOM元素上;

能將HTML分組成可重用的組件。

解決方案

AngularJS試圖成為WEB應用中的一種客戶端的解決方案。這意味着它不只是你的WEB應用中的一個小部分,還是一個完整的客戶端的解決方案。這會讓AngularJS在構建一個CRUD(增加Create、查詢Retrieve、更新Update、刪除Delete)的應用時顯得很「固執」(原文為opinionated,意指沒有太多的其他方式)。但是,儘管它很「固執」,它仍然能確保它的「固執」只是在你構建應用的起點,並且你仍能靈活變動。AngularJS的一些出眾之處如下:

構建一個CRUD應用可能用到的全部內容包括:數據綁定、基本模板標識符、表單驗證、路由、深度鏈接、組件重用、依賴注入。

測試方面包括:單元測試、端對端測試、模擬和自動化測試框架。

具有目錄布局和測試腳本的種子應用作為起點。

主要特點

AngularJS通過為開發者呈現一個更高層次的抽象來簡化應用的開發。如同其他的抽象技術一樣,這也會損失一部分靈活性。換句話說,並不是所有的應用都適合用AngularJS來做。AngularJS主要考慮的是構建CRUD應用。幸運的是,至少90%的WEB應用都是CRUD應用。但是要了解什麼適合用AngularJS構建,就得了解什麼不適合用AngularJS構建。

如遊戲,圖形界面器,這種DOM操作很頻繁也很複雜的應用,和CRUD應用就有很大的不同,它們不適合用AngularJS來構建。像這種情況用一些更輕量、簡單的技術如jQuery可能會更好。

參考文獻