AngularJS Thoughts
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
- Directives are a big part of most Angular apps, but directive documentation is at http://docs.angularjs.org/api/ng.$compile.