Angular is a full-featured, Modular, Client side MV*C library.


ACiD Summary

  • Advantages:
    • Being full featured, it offers convenient access to DOM manipulation, Directives/Expressions, Templating, Model/View management, 2Way Binding, Routing, History Management, DI, Services, Factories, Testability, etc.
  • Considerations:
    • being full featured makes it maybe easier for managing inter-dependencies alternate libraries that do the same thing (Q, JQuery, Sammy.JS, History.JS, Require.JS). The downside is that full featured means it's Angular.JS's opinion on what is full featured – and you might disagree, and think that it really is missing key features.
  • Disadvantages:
    • Currently, Angular's full-features is missing what I consider an essential part of a full-featured framework: script loading (eg: Require.JS) 1). Which is why:
    • IT:AD:Durandal.JS's loading of Views + ViewModels by convention beats it hands down, compared to Angular's OTB behavior.
    • It too uses '$' – making you have to watch out a little bit for impact when combining with JQuery/JQueryUI.


A map of the concepts.

PlantUML Graph