Sane, scalable Angular apps are tricky, but not impossible. Lessons learned from PayPal Checkout.
Daniel Brain

Totally agree and love almost all of these points. One thing I’ve felt differently about for a while (and am still considering / exploring) is everyone’s obsession with directives/components vs stronger state-machine structures. I tend to shy away from directives and religiously adopted ui-router’s state machine to manage everything (huge emphasis on resolves, params, nested states, sibling views, named views, view overriding, shared dependencies, etc). This sorta got rid of _lifecycle_ code I normally had in directives and cut down on the amount of code I would have had when you pass arguments to a directive (vs injecting resolves into a state).