Previous instances of that pattern:
- three20 (used in FB ios app https://en.wikipedia.org/wiki/Three20)
- GWT
- Angular is actually a similar instance of that problem, to some extent
If "large company" switches their goal at some point, then you're still alone.
Currently I'm kind of more confident (in some way) to the future stability of Vue, than of React (just a gut feeling, time will tell!).
Whether it's kept up with the state of the art I don't know, but I think that's a different thing.
One of the reasons for the choice was the FB branding associated as something that can be trusted!
I find the argument also quite disturbing because this will add to the already existing monopolies of these "large companies".
For me, the instability and unopinionated nature of the group of technologies that loosely define "React" have been a real turn off. When answers to questions like "What language should you program in?", "How should you store your data?" and "How should I handle routing between pages?" all have no specific answer, it leads to a fragmentation of knowledge that in my past experience usually leads to a technology's demise.
I agree about the un-opinionated nature, though the resulting flexibility has led to some good options, they can be complicated to choose and wire together.
Not in hobbyspace. But in Deliver-a-Product World, it matters a lot.
Options like React-Native
When you use React for a web app, how close are you to turn it into a React Native app?I just launched a little game that I built with React Native [2], where I have a single codebase that supports iOS, Android, Windows, and web.
If you do the same with React, you are then able to take those skills and build VR, Web, iOS, Android, Windows, and soon TVOS ++ many more in the future.
This, along with what has already been stated, is the value of using React vs Vue imo.
Weex quickly gets better and is maintained by Alibaba, a company of the same scale and with development resources comparable to Facebook or Google. NativeScript recently started work on Vue port, the project is already available for testing. That's excluding the Cordova solutions like Onsen and Framework 7 having official Vue ports.
To that, PWA slowly becomes the new trend for mobile development, native apps are not necessarily the optimal solution to every use case.
The "++ many more in the future" is an optimistic assumption. As much as I wish it to be fulfilled, same can be said about any other framework.
Abstract all data logic and you can use the exact same code for both apps. This of course does not include your view layer. If you do it correctly, all you have to do is make a new set of view components. Stateless ones. Because you are injecting the state from your non platform specific components.
It makes it extremely fast to build for other platforms. It just takes a few apps to fully understand how to abstract these things perfectly.
There are still some missing components [1], but nothing I really needed (or couldn't work around).
Now I can do them all with one framework.
2. There is NativeScript which supports Angular 2+ and shortly Vue, and Weex build by Alibaba on top of Vue.
Besides in 10 years the whole of IT changes. Don't look for "50 year frameworks".
1. Stability. FB uses it for their main product, which is probably the biggest web app of them all, they pay many devs to work fulltime on it. People coming from Angular, who had to migrate all those breaking changes over the years know the struggle.
2. Options like React-Native, React-VR and co. React enables your devs to acquire a whole new range of possibilities. It isn't just a web framework.