You forgot…

  • testing is one of its key feature and so many magic make tests complicated and fails without any logic reason.
  • Angular code is painful to read and understand, you can not find the declaration of a service without a “find in all files”, you can not know in witch controller assign a variable used in html without “find in all files” (due to scope inheritance and rootScope)
  • Dependency injection is a lie (or a regression compared to others dependency injection)
  • Too many concept complicates simple functions: what is the difference between services and providers, emit and broadcast are just events, module concept is just an object, why make it complicated ? (so… you didn’t forgot but…)