I suppose we'll muddle along until things really break down, but this pace of change is not sustainable, particularly when so much of it just seems like churn for churn's sake.
I suppose we'll muddle along until things really break down, but this pace of change is not sustainable, particularly when so much of it just seems like churn for churn's sake.
The AngularJS to Angular upgrade step is a big one. But, the latter is unquestionably a better framework once you're using it. It only needs to be done once, and it can be done gradually, if you're willing to ship both frameworks for a while. The upgrade modules they provide for running AngularJS code in Angular (and vice-versa) were a bit dodgy at first, but they are excellent now.
Once you're on Angular, there's no need for any 6-month rewrites. We upgraded about a year and a half ago, and we've kept up to date without facing any problems with backwards incompatible changes or upgrade pain. The Angular team has done a lot of work on improving the framework's internals, but the actual conceptual model and interfaces have remained stable.
Plus, if you use Angular CLI, you're also isolated from churn in the build tool world. You don't have to worry about juggling compatible versions of Webpack and its myriad loaders and plugins. It's all hidden away. Having wasted far too many hours of my life hacking on Grunt, then Gulp, then Webpack configs, that's reason enough to use Angular for me.
As for backwards compatibility, as was described in the presentation on the new renderer they are working on, 600 apps at Google are built on Angular, so there is a great deal of internal pressure to make sure backwards compatibility is a constant consideration.
Along those lines, one of the big tooling features in this release is the upgrade command in the CLI, which can allow packages to self update themselves across your codebase (i.e. if there's a breaking API change, they can rewrite that API call accordingly automatically during package upgrades). This is new, so it's yet to be determined how common and painless the usage will be.
Does that mean that every 18 months you'd have to rewrite your app in the newer angular version? And if not, what does it mean?
Don't know why I got downvoted but ok I guess.
And they will tell you upgrade is painless, but it's still work. And then if you have many dependancies (and the npm culture is to make every single function a package...), one of them will be painful, another one will stop working, etc.
And now in this devops world, the same devs will do server maintenance. The next 10 years are going to be so fun to watch.
I spent 3 months evaluating all 3 with a poc app and vue was the clear winner for me
There is nothing wrong with using setState()... You don't have to pull in Redux, which itself is like 100 LOC minus the sanity checks & comments.
Currently upgrading from 5 to 6 was simple. We didn't need to upgrade 'angular' code. (we just used https://update.angular.io/) basically took me two hours (replacing all rxjs code) (code base is 35k lines of typescript and 14k lohtml)
The biggest pain between 5 and 6 is basically rxjs not angular per se and for that there is rxjs-compat. However the only problem with angular would've been if people would've used the old Http Client, however we started with 4 and directly used 'HttpClient' which also is way better since you can easily have interceptors around it.
E.g. in my company we use AngularJS because of that.
> Rewriting things every six months is not reasonable for our team
I'm not sure why you think you'd need to rewrite things. Where are you getting your information?