AngularJS學習筆記1——什麼是AngularJS?

pengisgood發表於2013-11-23

     Angular JS是一個由Google維護的開源的Javascript框架,主要作者為: Misko Hevery(angular JS之父, Sr. Computer Scientist at Google), Igor Minar(tech lead of AngularJS),Vojta Jina。它的創新點在於,利用資料雙向繫結和依賴注入,使得不用再寫大量的程式碼。這些全部是通過瀏覽器端的Javascript實現的,這也使得它能夠完美的和任何伺服器端技術結合。

Angular JS的哲學


      AngularJS是建立在這樣的信念之上:當組建檢視同時又要寫軟體邏輯時,宣告式的程式碼會比命令式的程式碼好得多,儘管命令式的程式碼非常適合用來表述業務邏輯。Angular JS框架採用並擴充套件了傳統HTML,通過雙向的資料繫結來適應動態內容,雙向的資料繫結允許模型和檢視之間的自動同步。因此,AngularJS使得對DOM的操作不再重要並提升了可測試性。

     設計目標:

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


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

  • 類庫 - 類庫是一些函式的集合,它能幫助你寫WEB應用。起主導作用的是你的程式碼,由你來決定何時使用類庫。類庫有:jQuery
  • 框架 - 框架是一種特殊的、已經實現了的WEB應用,你只需要對它填充具體的業務邏輯。這裡框架是起主導作用的,由它來根據具體的應用邏輯來呼叫你的程式碼。框架有:knockoutsproutcore等。

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

  • 使用雙大括號{{}}語法進行資料繫結;
  • 使用DOM控制結構來實現迭代或者隱藏DOM片段;
  • 支援表單和表單的驗證;
  • 能將邏輯程式碼關聯到相關的DOM元素上;
  • 能將HTML分組成可重用的元件。

相關文章