I've been working on my first AngularJS project since October. It has some strangeness, but on the whole I am impressed.

Pros

  • Single language. I normally work with Ruby on Rails, which means some JavaScript is inevitable. Now I'm writing almost entirely in JavaScript and pushing the Ruby changes off to the API team.
  • Easy, fast iteration powered by Node.js.
  • Directives hint at what HTML should have been from the start.
  • Simple module system for easy code isolation.

Cons

  • Limited by HTML, JS, CSS, W3C; and not my imagination.
  • jQuery experience doesn't really help much.
  • Directives fall short of next-generation HTML/JS features such as custom elements et cetera. Check out Google's Polymer project for a taste.
  • Module system seems overly complex with factories, services, values, constants, controllers, directives, filters. Plus everything lives in a single app namespace, so not much win over single window namespace.

Outstanding Issues

Please note these may be resolved by the time you read this post.

  • I opened an issue to allow ngTransclude to operate more like <content /> and <content select="..." />.

WAT