Let met tell you why angular is hard. It is because most of us are not familiarized with the concepts. The docs are hard to read and some stuff is buried deep within the language, but once you understand the concepts it's very easy to get started. We have introduced angular here and are using it in several production apps, and everyone is very happy. We had one team member learning it in a week (granted, he could learn very fast because he could ask someone when he had doubts), and already wrote 2 or 3 apps in the next weeks. An he isn't a "javascript" guy.
In fact, most or all of angular concepts can be found elsewhere in other frameworks such as spring/guice(IoC), any decent ORM (dirty checking, "digest cycles"), WPF (directives/code-behind,declarative, whatever you want to call it), etc.
Although I feel that its source code is hard to read sometimes, I'm happy to let the framework do its magic and allow me to write apps without getting in the way. I can write modular components and test them with the angular/grunt/karma combo. If I need tabs, modal or whatever I can pull some libs and get it working quickly. If size/speed's a serious concern, I'll write my own lib/directive/etc.
In fact, most or all of angular concepts can be found elsewhere in other frameworks such as spring/guice(IoC), any decent ORM (dirty checking, "digest cycles"), WPF (directives/code-behind,declarative, whatever you want to call it), etc.
Although I feel that its source code is hard to read sometimes, I'm happy to let the framework do its magic and allow me to write apps without getting in the way. I can write modular components and test them with the angular/grunt/karma combo. If I need tabs, modal or whatever I can pull some libs and get it working quickly. If size/speed's a serious concern, I'll write my own lib/directive/etc.