I'm looking to move a few projects from Angular 1. What do developers think of migrating to Angular 2 vs Vue for this? I've played with Angular 2 but can't shake the feeling that it's overly complex.
Angular2 has a huge surface area, conceptually. You might need that surface area. But it's daunting. Angular2 also expects you to teleport into a very modern future of tooling and development practices. That said, it's a safe choice...everything you might want to do has been done and complained about on StackOverflow. [wink]
You may want to check out Aurelia too. One of Angulars main devs left the Angular Team because of its direction and build Aurelia the way Angular should have been.
I played with it a bit and what's awesome about it that you just write plain JS most of the time. No weird stuff like JSX and whatever. Docs arn't that great tho
It's worth noting that the developer who split from the Angular team to create Aurelia was also the developer of Durandal, which is quite a nice (and underrated) framework.
Aurelia is a sort of the spiritual successor to Durandal.
Well, it might help if you said why you're looking to move from Angular 1. What problems do you have with it? How many developers are working on the project? Do you use libraries like angular-material? ...
There are a thousand factors why you'd chose one above the other. I would just be very wary of comments like: "Definitely framework X".
> Well, it might help if you said why you're looking to move from Angular 1. What problems do you have with it? How many developers are working on the project? Do you use libraries like angular-material? ...
Just that as time goes on Angular 1 is going to fall out of support in general and for popular libraries so it might be best to switch sooner rather than later before we get more entrenched in Angular 1. Switching to another framework wouldn't be a massive undertaking right now but probably would be later. Typescript is a great feature too but you can use this in Angular 1 somewhat as well. Any thoughts?
Well, they're not that far apart (vue 2 and angular 2).
They're both component based frameworks with a very comparable templating system. So you'll be able to create the same things in more or less the same manner with both frameworks.
The main difference is that angular 2 is a bit more enterprisey.
It's a bit more bloated (but also more complete) and if you're a small team with a not too large app, you may find it introduces too much overhead. If you're a larger team with a larger app you'll really benefit from angular 2.
One thing that speaks for angular 2 has is their ngUpgrade module, which allows you to gradually upgrade your angular 1 app, which you may find useful.
Vue feels very light, and you can use as much or as little as you need. With Angular 2 you really need to dive in, understanding modules, DI, Typescript, components, the various decorators properties, observables, etc. I like Angular 2 personally, but it really is quite heavy.
The upgrade adapter isn't ready for primetime yet from what I gathered.
Can't speak for Vue, but Angular 2 is pretty nice, and the performance benefits are significant. There are some complexities, mainly around AoT compilation, but those are challenges that one would come across if one wanted that anyway.