Report from the coal mines: quick notes about AngularJS

In short:

  • Behaviours provide a good way to sequester of DOM manipulation code, and I know they can be composed, but it’s immediately obvious how to connect them together
  • The view syntax is great because it’s just HTML. Would love to be able to compile a page on a server a-la Meteor.
  • Inheriting scopes work well because they run in parallel to the DOM inheritance.
  • They nailed controllers and dependency injection.
  • Services are a free-for-all and could use some structure. Using a library like Backbone is not acceptable because it doesn’t take enough advantage of two-way data binding and updates. Promises are hard to use, too. The example on the website all just make a REST call every time a controller is loaded, which is suboptimal. Tried to address it with my library at https://github.com/mbertolacci/angular-service-utilities