Serious question - when AngularJS 2.0 is finally released, is there any reason to leave 1.x if it works perfectly fine? I understand 1.x may not be supported and new "plugins" or what have you might not be created for it anymore, but i'm months into development of an app using 1.x and I really don't want to start over right now.
If 1.x suits your needs, fine. Angular 2 seems like it will have improved performance and be overall simpler, but 1.x will keep being supported for the time being. Plus it's open source, so if many people want to stay on 1.x, that's achievable.
That said there will also be a migration path for your apps from 1.x to 2.0, and they have explicitly stated that you can migrate portions of your app to 2.0 without rewriting everything, so you can dip your toes in and see how you like it.
The author's remarks echo my feelings on the state of front-end dev well:
[Angular and Ember] are both smart, valid, and potentially
wildly successful approaches. The fact that there are
different teams of smart people building software to make
the front-end better, and that those teams have different
and directly conflicting philosophies is fantastic.
This was also a theme echoed recently at ng-conf. Shift the mindset from "X framework is better unilaterally" to "X framework is really good at Y but less good at Z". They're tools; nobody's going around saying "hammers are better at everything than screwdrivers"
> They're tools; nobody's going around saying "hammers are better at everything than screwdrivers"
But different front-end frameworks are, arguably, more like different brands or designs of hammers than they are like hammers vs. screwdrivers. And while different brands of tools in the same class may have tradeoffs that make some better for particular uses and others better for other uses, quite often it is the case that people do perceive one is better (or, more often, worse) than some other for every task. Those that are widely perceived as better in that sense over time come to dominate until an alternative that it doesn't beat in all uses becomes available, those that are perceived as worse in that sense gradually (or quickly, depending on the strength of the perception and the degree people who already started using the tool are locked in) are abandoned and left behind.
Yeah, my analogy wasn't the greatest. Substitute "claw hammers" and "sledgehamemrs" and "deadblow hammers" instead.
What excites me right now is there's a lot of great, interesting, useful tools available right now (React, Ember, Angular, to name a few). Maybe one or more won't ultimately pan out, but they're great opportunities to try new approaches and learn from each other.
To build a web app with one of these new tools exposes you inherently to the risk that this tool might be abandoned in the next 1-3 years. It's up to you to weigh the risks of a new tool against its benefits. If long-term stability is something your project highly depends upon, then perhaps these new tools aren't the appropriate choice, and something like jQuery/Backbone is a better option.