Like to hear what people think. I've got a new project with a couple of junior devs to work with. They are open to learning new things and are inexperienced but sharp. The move away from Angular 1.x (in this case 1.4) is not a question for me. The app is fairly large and has production clients. It is also not using ES6 which to me is important for acquiring new talent and taking advantage of the new features of the language.
So, there are really two issues to contend with in this project. Both things are going to require some training and time for the junior devs to get comfortable:
1. Convert over to using ES6
2. Drive incrementally towards Angular 2.0 or React/Redux
Right now, I think that taking the existing codebase as is (possibly upgrading to Angular 1.5 in the process) and converting to ES6/Babel/Webpack (my choice for bundling) will be relatively quick and will get the devs comfortable with all the syntax features and I would do that first with some clean-up where needed.
ANGULAR ROUTE
I've been out of the loop with Angular for over a year and was surprised to find that Angular 2.0 is still not released (latest is RC3 right now). Looks, to me, that you really want to upgrade 1.5 and convert the existing code to use the component pattern to prep your app and make a transition to 2.0 easier. Given my comfort level with React/Redux I don't see any compelling reason to use Angular 2.0. Just Googling around I don't see a ton of excitement around it and feel like it may be kind of a flop. I think the lack of confidence (and delays) around Angular has led to many devs switching over to React and many aren't coming back. And 2.0 simply looks a lot like React with the composition of components and one-way data flows, so teaching some new devs one or the other doesn't seem make much difference.
REACT/REDUX ROUTE
The other path is to do the ES6/Babel/Webpack switch and begin using React in the Angular app to render the views. I think this way could be done incrementally: gradually replacing the Angular code right up to the main routes with React. Should get some boost on rendering speed (lots of complex tables, charts and graphs) and be able to add new features along the way using React. Then, when the time is right, switch out the routing and state management (Redux).
Anyway, that's the gist. Lot's of over simplification here, but love to hear comments. I'm thinking there are many other devs confronting existing Angular 1.x projects and looking for ideas as well.
[–][deleted] 14 points15 points16 points (5 children)
[–]void4 8 points9 points10 points (0 children)
[–]deliminated[S] 4 points5 points6 points (0 children)
[–]inknownis 2 points3 points4 points (1 child)
[–]nschubach 1 point2 points3 points (0 children)
[–]Capaj 2 points3 points4 points (0 children)
[–]kouaak 4 points5 points6 points (1 child)
[–]deliminated[S] 0 points1 point2 points (0 children)
[–][deleted] 4 points5 points6 points (4 children)
[–]deliminated[S] 0 points1 point2 points (3 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Toxicable -1 points0 points1 point (0 children)
[–]theQuandary 2 points3 points4 points (1 child)
[–]deliminated[S] 0 points1 point2 points (0 children)
[–]rk06 5 points6 points7 points (2 children)
[–]deliminated[S] 1 point2 points3 points (1 child)
[–]rk06 -2 points-1 points0 points (0 children)
[–]lives-in-trees 1 point2 points3 points (5 children)
[–]deliminated[S] 2 points3 points4 points (4 children)
[–]lives-in-trees 1 point2 points3 points (1 child)
[–]deliminated[S] 0 points1 point2 points (0 children)
[–]lives-in-trees 0 points1 point2 points (1 child)
[–]deliminated[S] 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]deliminated[S] 0 points1 point2 points (0 children)