Every framework has pros and cons. I also suggest you have a look at EmberJS. All those features you are missing in Angular are there in EmberJS like promises using Ember's RSVP etc...And then EmberJS may be having its own cons...Testability is one of them..