AngularJS
image source: AngularJS
由 Google 出款的前端 JavaScript 框架,透過宣告式語法直接賦予 HTML 額外的能力,讓 Web 應用程式在元件化的過程變得更加直覺。
如果寫過 ASP NET MVC 的開發人員,一定對關注點分離及已習慣取代配置這兩種觀念不陌生,在 AngularJS 中可以更加的感受到這兩種特性的發揮。
而框架本身屬於 MVC 設計模式,將控制器(Controller)與檢視(View)間切割的乾淨。再搭配模組(module)與相依性注入(Dependency Injection)相關實作,如工廠(factory)與服務(service)、提供者(provider)與常數(value)值等等,確確實實把關注點分離這觀念給落實。
AngularJS也提供了另外的特性: 雙向資料繫結(Two Way Data-Binding),這特性並不是只有 AngularJS 獨有,其他 JS 框架也大多有這特性。
評估你是否需要使用此框架
這世界上不會有任何一套框架可以完美解決所有需求,當然此框架也不例外。
而 AngularJS 企圖解決的難題多半是 CRUD 處理資料類型的應用程式。
如果你要設計複雜的 Web 遊戲或是必須精細控制 DOM 物件的應用程式,都不應該使用 AngularJS 來做,否則你會寫到摔鍵盤。