React is great as well, but if you find Angular incomprehensible it's not clear you'll find React much easier.
One major difference between React and Angular is that the Angular community _tends_ to separate their templates from their "controller" code, whereas the React community _tends_ to intermix their templates with code ("PHP" style).
The result is that in Angular you have a few funny characters in your HTML to learn (e.g. `*ngFor="let foo in bar"` for looping) whereas in React you'll use JSX and use JavaScript for loops.
It's pretty clear to me that component-based webapps are here for the long haul. Even if WebComponents ends up being the future, the concepts you learn in using either Angular or React will be more-or-less transferrable.
It seems to me that Angular and React are becoming more similar over time. For typing, Angular uses TypeScript and React uses Flow. For data architecture, both communities are gravitating towards some sort of Flux (redux / ngrx). You can even use JSX in Angular if you want to.
Shameless plug: I've written a book on Angular 2 which talks through, step-by-step, how to understand Angular. The first chapter walks you through your first app and you can get it (for free) here: https://www.ng-book.com/2/
Because you can't practically use web components. Only Chrome and Opera support them. Angular2 has support down to IE 9.
Which is why I stopped messing around with polymer. Basically adding the webcomponents polyfill to your DOM tree (because it touches so many things) breaks contenteditable in some weird ways. Which can be limiting to people who use rich text editors (many still decorate contenteditable divs) although iframe-wrapping the editor fixes the contenteditable breakage (at the expense of introducing other problems with extending your editor - try adding custom (say) atmention autocompletes to something in its own execution context).
Also, webcomponents have had some pretty major syntax changes over time, especially when it comes to shadow-piercing styling vs other styling selectors.
Ultimately, I'm looking forward to webcomponents. I can't wait to have proper namespaces and all that. In the short run, though, I've tried the webcomponents polyfill (I wrote a lot of polymer 0.X code for a webapp that I eventually ported to angular 1.x instead when the polymer 1.x syntax meant I'd have to rewrite a lot anyway), and it's not Enough.
And you'll get started in no time, no need for nodejs and zillion packages from npm, or even a cli tool and what not.
it's one file you drop into your html page. Vue.js explains clearly how you should build a Vue application and is honest about its potential limitations. There is no surprise nor magics. No IoC container forced on you if you're not into that kind of voodoo.
React is good too, I recommend either of them. I'd have recommended you Angular 1 3 years ago, now I can't, I have no idea if they'll stop developing that version at some point in time.
Did I just compare Angular 2 to Perl 6?
Alas, Angular 2 is threatening to actually roll out sooner rather than later.
The biggest hangup people seem to have at first is JSX ("HTML") mixed in with JS, and I had that worry too but it vanished as I spent more time with React.
It's just the view layer, and just a library, which can be a pro or con, depending on what you want from it.
Oh, and the documentation, a part so often neglected or written in a style that's for CS professors instead of mere mortals, is extensive, clearly written and full of examples. Lovely!
Just start building stuff in it. Start with Hello World or something else ridiculously simple. If it doesn't work, then debug and fix it until it does. If it works, then add some features until it stops working, then fix it. Repeat until it does something useful. Find some demo apps and examine them to give you some direction on how to do things. Work through any tutorials you find.
Angular 1 seems like a good starting place to me. It has some complexities, but it's one file to use and is all bare Javascript. You can at least get something simple working before you have to figure out how to set up build pipelines for Typescript or JSX or something. You can even do some useful stuff in it with no Javascript at all - the default form validation stuff is pretty nice.