As I start writing down this post, I know it will be fairly short: I have just a couple things to say, and one can only add a finite number of fillers to lengthen a couple concepts.
Consider yourself warned :)
If you don't know what Web Components are, please take a quick detour to this nice and rather hands-on introduction at CssTricks.com.
But - Hey! – I'm here to help, so here's a definition of Web Components straight from that introduction:
Web Components are a collection of standards which are working their way through the W3C and landing in browsers as we speak. In a nutshell, they allow us to bundle markup and styles into custom HTML elements. What's truly amazing about these new elements is that they fully encapsulate all of their HTML and CSS. That means the styles that you write always render as you intended, and your HTML is safe from the prying eyes of external JavaScript.
Web Components are the future of the web, and we are starting to get there (see the next evidence).
Chrome 36 was the first web browser shipping with a stable implementation of all 4 specifications of which Web Components are composed of.
Opera has since joined the ball, and Firefox is also improving.
Things will be removed, things will be changed and transformed.
The result will be something very very similar to a developer using Web Components to build their app.
Google is shaping the future of the web with Chrome and Angular.
That's why I'm betting on Angular, and I think you should too.
Ionic is a front-end SDK for developing hybrid mobile apps with HTML5.
And there's Angular at its core.
Material design is the new design philosophy and visual language by Google.
ngMaterial – or, Angular Material – is the official Material design reference implementation.
It is supported internally at Google by the Angular.js, Material Design UX, and other product teams.
Also, main contributors of ngMaterial by Google are Ionic devs.
Ionic is here to stay, its peak is far away, and it will grow in prominence over the next couple years.
That's why I'm betting on Angular and Ionic, and I think you should too.
All you technical points are good. Maybe they're even perfect.
Angular and Ionic will win the JavaScript and mobile framework wars, nonetheless.
Because strategy and alliances are how you win a war, not your technical level.