The logical framework for me is Angular 2, right? I have all that Angular 1 experience. They've now provided good guidance on migration,which is way better than when it was announced, and we all thought we'd be rewriting apps from scratch. But to be honest, I haven't looked into Angular 2 a whole lot, because when I look at the examples, the views look atrocious.
<li *ngFor="#hero of heroes" (click)="onSelect(hero)"> <span class="badge"></span> </li>
<some-component [prop]="someExp" (event)="someEvent()" [(twoWayProp)]="someExp"></show-title>
Good gracious, look at all those symbols. Maybe I'm being a crybaby, but I can't imagine myself staring at views like that all day without (a) needing a cheat-sheet to tell me which symbol to use when, and (b) throwing up. I despise Markdown for its use of semantic symbols; the symbols in Angular 2 seem just as confusing to me.
That React, it's so hot right now!
First of all, most of what I've learned so far about React, I've learned from Cory House - his Pluralsight course is a great place to start. This dude is an amazing speaker, and I highly recommend checking him out if you get a chance.
I really like a lot of things about React.
- The virtualDom diffing is cool. Better performance is nothing to complain about.
- I like the concept of uni-directional flow. I've played with both Flux and Redux, and before you get lawyery on me I know that's not technically part of React, but it is part of the ecosystem - and if you're going to build something with React, you're going to use either Flux or Redux because all of the examples do too. Flux is okay, but has too much boilerplate repetition for my tastes. Redux I find to be pretty neat - I like the guiding principles - a single source of truth, read-only state, and the use of pure functions.
- The language is simple, and it's pretty easy to figure out what's going on in a component.
- Jsx is awesome. I love the fact that you get a compile error when you typo something in a component - as opposed to something silently failing in most other frameworks.
Which brings me to Ember. I don't know a whole lot about Ember. In fact, most of what I know, I learned from one episode of HanselMinutes.
Heck, the slogan on their site is "more productive out of the box". That is a slogan I can get behind.