Reuseable declarative UI's through Directives, reuseable business logic throug Services and view models (controllers) having only knowledge of views is a really good for maintainablity of a complex javascript app. AngualrJS can beat any framework out there (Backbone, Ember, etc.) when it comes to having testable & manageable code.
If your product is going to be complex, AngularJS is a no-brainer deal.
1. DI.
2. Clear separation of concerns.
I believe that writing testable Javascript has been possible since the name Javascript was invented. Angular.js has made it easier by doing its best to force you to write testable code.I realize this thread has me walking into the AngularJS den, but it is something i've been passively curious about.
Angular and other front-end frameworks are great for responding to user interactions extremely quickly, because often you don't have to go back to the server. And in addition when it does need to interact with the server, it is often faster to respond because it doesn't need to fetch anything but JSON data.
But that data needs to come from somewhere. And that's where Rails/Django/Play/Symphony/whatever are used.
That said, AngularJS can offload a lot of server side work. Mainly rendering views and the overall presentation layer. You can basically ditch your server side templating system and make your Rails, Django, PHP or node.js a simple REST API endpoint (with some additional auth system based on cookies or smth).
Also, If you're in Chicago, the Angular meetup group will be talking about testing on November 20th: http://www.meetup.com/AngularJS-Chicago/
1, measuring the effects of the directive on the dom, e.g. rendering a list of orders. This reflects the state of the application and
2, e2e testing of directives with a real browser.
However, I'm not sure this is correct! I'd like to see some best practices listed by the Angular authors.
It's built on top of WebDriverJS. I've been playing with it today and so far it's working very well.
A great article in a series of AngularJS articles, written by Matias Niemelä.