Earlier quoted context omitted.
There are tons of javascript libraries that are out there that offer the things you want. In most cases, they are more featureful and more stable than Angular's implementations. Router - Backbone's router, page.js etc Web service querying - simple jquery ajax calls or you could use breeze.js, pouchdb etc Unit testing - React has one built in, but you could use others too.
> There are tons of javascript libraries that are out there And there you have your answer :) What the JS people don't seem to grasp is that I don't care how many libraries are out there. I care even less about the incompatibilities and the different release cycles of all those libraries. By now, I hope you understand that my interest in maintaining and integrating all those into a coherent system approaches zero. I…
While it is true that there are far too many frameworks that come and go in JS land, you can find very stable, well-maintained and clean libraries too. For anything that's essential to your stack(DOM interaction, routing, UI elements etc), typically you'll find multiple well tested and stable libraries. Atleast, that has been my experience.
With well designed libraries, integration is rarely a problem. They are designed to be interoperable and don't make too many assumptions about things they aren't good at.
It takes a little bit of work upfront, but I find it's far better than relying on monolithic frameworks that tries to do everything under the sun(and usually fail).
Switch to React, I guarantee you that your front-end dev time(and overall) dev time will drop drastically to 20% :)