Good points made by all here for sure! Here’s a few of my thoughts…
since this has become more of a discussion rather than an announcement, I should probably add my original mail here
Apologies that my phrasing in the original post was not clear enough that this very much is a discussion. I know that sometimes I come off as a “this is what we are doing”, but to me it’s always a discussion. I have (and suspect) that I will wrong from time to time…anyone is welcome, at any time to tell me I’m wrong
Moving frameworks (in general)
We as a team (MIQ) are moving towards Angular (i.e. Angular 2/4)…that’s been talked about in length and so I won’t go down this rabbit hole. The SUI team is closer to getting there, and so we have done a lot of looking into moving. It will be a significant re-write, and it will take a lot of time. At some point we will have to move frameworks (for all intents and purposes, Angular 2/4 is a new framework).
So, with that in mind, and in looking at things, what can we do to ensure that we get features out quickly (making the customers happy) while keeping things “up to date”? The SUI looked at a lot of options, the one thing that stood out with regards to VueJS vs. Angular 2/4 the move is significantly easier. Which means less time “redoing” (happy developers)…and the ability to get features to faster (happy customers).
In principle, I agree that a common framework promotes more code sharing / cross team support, but by that logic we should really move MIQ to ReactJS as most of the other Red Hat projects are using it / going to it.
I don’t think angularJS 1.x is dead, there is update 16 days ago, which proves that their team is trying to bring 1.x as close as possible to angular.
I don’t think that angularJS 1.x is dead per say, but the reality is that it will be EOL’d sometime in the future. I would agree that they are trying to “fix” it, but I doubt it will ever converge, and at some point they will just stop, if nothing else because generally speaking it’s not “a good idea to split developers inside one project”.
I still don’t feel convinced that VueJS is a safe investment
The JS landscape is constantly changing…in fact, I think that’s the only “stable” thing in the JS world…that things will change. Looking back at things…I would have thought that GWT (by Google) was a safe investment…and I would have thought that Google (being a massive company) would have been more mindful of the transition from Angular 1 to Angular 2. However, that didn’t happen.
Given the size of ManageIQ project I think we should be more conservative than a startup with no codebase to maintain
There is a truth to that, no doubt. However, I can’t help but wonder…what if people has said “Given the size of our server farm, I think that we should be more conservative then a start up with only a few servers” with regards to the MIQ product. That said too, there are plenty of very large companies that have thrown their support behind Vue.
If both UIs will be using same library we can share both pieces of code and programmers.
So, this one is by far the biggest point (so thanks to all who have called this out). I’ll start with sharing piece of code. The SUI moved to PF4 (for reasons that are beyond the scope of this post…so, I’ll leave them out), however the Ops UI and the ui-compontents are still using PF3. So, it makes it hard to share those components. Can that be fixed…sure, we just need to update Ops UI and ui-compoents to PF4. When can we fit that in (rhetorical question)? No doubt it will be done at some point…just not sure when. So that makes it hard.
The SUI is purely API driven, and the Ops UI is making GREAT headway in getting there, but it’s a very large codebase…it will take time. Since you are pulling in / rendering data in different way, that makes it also hard to share code. So, again that makes it hard.
I would love to be able to share a common code base, but we just aren’t there yet. We WILL get there, but it will take time. The Ops UI is still transitioning to Angular 1.x and the API; the move to Angular 2 is going to be long and hard for the SUI team…it will be MASSIVE for the Ops UI team. Moving to Vue will be significantly easier. Yes, as people have pointed out, the SUI is a more recent (“greenfield”) of a UI. That’s true, but that doesn’t mean we can’t still help each other…we just help in a different way. My thought was that the SUI team could press forward with the Vue transition…start making components, shareable code, common patterns and put those in a place where they are ready for the Ops UI team when you all would be ready.
Note: not going to address the “programmers” part, as that’s more of an internal discussion
These are just my thoughts on the matter. This is a big discussion, and I’m really glad that we are having it so we can ensure a rock star application for our customers.