In contrast [to React], Angular 2 is a careful, methodical reinvention of a mature, comprehensive framework. So Angular is less likely to churn in painful ways after release. And as a full framework, when you choose Angular, you can trust a single team to make careful decisions about the future. In React, it’s your responsibility to herd a bunch of disparate, fast-moving, open-source libraries into a comprehensive whole that plays well together. It’s time-consuming, frustrating, and a never-ending job.
I haven’t done anything in Angular yet, but I did do a couple of projects in React (and one in Meteor) and I really like it so far. It’s not an opinionated framework, but mixed with even a loose Flux-like pattern, it is very very nice to reason within, and I actually like the freedom it provides on the edges. It doesn’t have much of an application architecture opinion, but it does have well rationalized API characteristics that continuously evolve in appropriate directions.
I used opinionated frameworks like Flex (the Adobe one) in the past, and while they let you get up and running very quickly, they have had fences that are hard to get over at the edges. I haven’t felt boxed in that way with React at all, which I love. (I haven’t tried anything like Angular or Ember yet though in JS).
Hopefully with Meteor in 2016 this won’t be the case anymore! We’ll herd stuff for you. Just got to polish up some stuff like modules, but I think the Meteor Guide will be a one-of-a-kind resource for building a complete app from start to finish.
But I’m also working on a video that will explain how to structure your app ‘the right way’. After so much tinkering, cursing, rewriting I think I finally nailed it in a way that makes sense. I’ll make a forum thread here when it’s done. I’m just waiting for my microphone to arrive from Amazon because I don’t want to make a video with poor audio quality. I’m aiming to make tons of videos that don’t suck and show real examples that are:
a) Based in reality. Things you’ll be doing day to day. No ‘todo mvc’ stuff.
b) No hipster stuff! Just tools you will use day to day. No webpack etc.
Yes, in my mind it’s the next tier in the churn from Gulp to Foo to Bar to Baz to Webpack.
Basically replace this stuff you shouldn’t care about, with this other newer stuff you shouldn’t care about. Lots of devs, including myself, are tired of new things coming out that don’t really improve things. So I try to speak out on them to give another perspective from the usual hype. In 1 year there’ll be a Webpackify++ and that will be the new hotness that does the same thing.