AngularJS 概述
1.AngularJS是一個開發動態Web應用的框架。它讓你使用HTML作為模板語言并且可以通過擴展的HTML語法來使應用組價更加清晰和簡潔。它的創新之處在于,通過數據綁定和依賴注入減少了大量代碼,而這些都在瀏覽器端通過JavaScript實現,能夠和任何服務器技術完美結合。
AngularJS是為了擴展HTML在構建應用時本應具備的能力而設計的。構建動態WEB應用往往需要一些技巧才能讓瀏覽器配合我們的工作。
通常,我們通過以下手段來解決動態應用和靜態文檔之間不匹配的問題:
類庫:一些在開發WEB應用時非常有用的函數的集合。你的代碼起主導作用,并且決定何時調用類庫的方法。如jQuery。
框架:一種WEB應用的特殊實現,你的代碼只需要填充一些具體的信息。框架起主導作用,并且決定何時調用你的代碼。例如 knockout, ember等。
AngularJS另辟蹊徑,它嘗試去擴展HTML的結構來彌補一文檔為中心的HTML與實際Web應用所需要的HTML之間的鴻溝。AngularJS通過指令(directive)擴展HTML語法。例如:
- 通過{{}}進行數據綁定。
- 使用DOM控制結構來進行迭代或隱藏DOM片段。
- 支持表單和表單驗證。
- 將邏輯代碼關聯到DOM元素上。
- 將一組HTML做成可重用的組件。
Angular是建立在這樣的信念之上的:即聲明式的代碼用在構建用戶界面和組裝軟件組件時更好,而命令式的代碼更擅長展現業務邏輯。
- 將應用邏輯與DOM操作解耦,會大大提高代碼的可測試性。
- 平等看待應用的測試和開發,測試的難度很大程度上取決于代碼的結構。
- 將前端與服務器端解耦,這樣使得前端的開發和服務器端的開發可以齊頭并進,實現兩邊代碼的重用。
- 框架在整個應用的開發流程中指導開發者:從用戶界面設計到實現業務邏輯,再到測試。
- 化繁為簡,化整為零總是好的。
Angular將把你從下面的苦海中解脫出來:
- 使用回調:回調會降低代碼的可讀性,是代碼變得零散。移除像回調之類的常見代碼是件好事,大幅移除因為JavaScript這門語言的不足而使你不得不寫的代碼,從而讓應用顯得更加清晰。
- 以編程的方式操作HTML DOM:操作HTML DOM是AJAX應用中很基礎的一部分,但它不靈活并且容易出錯。通過聲明式的語句,描述UI該怎樣隨著狀態的改變而變化,能讓你從低級的DOM操作中解脫出來。絕大多數Angular的應用開發中,開發者都不需要自己去寫低級的操作DOM的代碼,盡管如果你非要這樣的話,也是可以的。
- 在用戶界面中讀寫數據:AJAX應用中的絕大多數操作都是CRUD操作。一個典型的流程是從服務器端取到數據組裝成內部對象,然后寫到HTML的表單中,在用戶對表單進行修改之后,進行表單驗證,顯示表單驗證錯誤信息,然后將數據重新組裝成內部對象,再發給服務器。在這個流程中有很多重復的代碼要寫,而Angular消除了在這個流程中幾乎所有的重復代碼,使得代碼看起來只是在描述所有的執行流程,而不是所有的實現細節。
-
在開始前寫大量的初始化代碼:一般需要寫很多的基礎性的代碼才能完成一個基本的AJAX的Hello World應用。在Angular的應用中,你可以通過一些服務來初始化應用,這些服務都是以類似于Guice的方式進行依賴注入的。這會讓你很快進入功能開發。另外,你還能完全控制自動化測試的初始化過程。
總結
以上是生活随笔為你收集整理的AngularJS 概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 体会视觉的震撼,从10亿光年到0.1飞米
- 下一篇: JSAAS开源社区版