Anyone who has used both Vue 3 and React that wants to share their experiences? Which framework do you prefer overall (including dev experience and ecosystem support)?
Vue botched their upgrade path to Vue 3 and now it's stuck in a similar limbo to Python 2/3. They "released" Vue 3 long ago but basically none of the ecosystem including officially supported libs like the Vue-Router/Vuex was ready and now a long time later many are still using Vue 2 because the ecosystem still hasn't caught up. The docs for Vue 3 when it was "released" were not good at all.
I used to host a Vue meetup and was originally excited for Vue 3, but most of the people I talk to who use Vue in their projects are still stuck on Vue 2 and have no plans of upgrading due to most UI libraries still not being ready.
Even though there is a core team now, it seems Evan himself has been less focused on Vue and moreso on Vite and tooling in general lately. I don't complain much because I love Vite, and no longer use Vue but I do know some Vue devs who are losing confidence.
---
I use React daily and at the very least they have rarely if ever broken backwards compatibility without being very fair on the ecosystem in terms of the time needed to upgrade, and releasing experimental versions for people to test/play with. Both are similar when it comes to dev experience, both have dev-tooling and editor integration. Though TS support for Vue was always lacking behind React. "Vetur" which is the VSCode/Editor extension to get good support for .vue files worked well enough until your project grew beyond mid to large in size at which point it slowed to a crawl for every dev on my team. Didn't have this problem with React. I think there is a new extension for Vue nowadays though.
Some of this is obvious a side-effect of there being many more devs working with React daily both in a hobby and professional capacity than Vue though.
Thanks for your insights! I have used Vue on several projects before but I have noticed that the entire ecosystem is basically in a beta stage.
Things are changing all the time. For example, the default state management solution just switched from Vuex to Pinia but a Vue 3 compatible version of Vuex still exist. Will it be the new default in one year? No one knows.
It's the same thing if you want to use things like SSR and not implement them yourself. You can either use Nuxt and continue to use Vue 2, or you can use the non-production-ready Nuxt 3 beta, which supports Vue 3. Both aren't great options.
Because of these issues, the strong community in the React camp really makes me consider switching to React for new projects.
I would pick Vue 3 over React just for performance alone. With React you do not have much breathing room and without specific optimizations like memo specific components, being aware what rerenders what: don't even try to use context api in large app for often changing data. Vue is much more forgiving and new composition api is nice. Both frameworks ecosystem and developer experience are pretty similar at this point.
As other have mentioned, Vue3 is barely out, its still fairly new, and for the most part most people I know are also sticking to vue2. The pain of switching to vue3 might just warrant a rewrite in react.
For all of what facebook is worth, React has almost never broken backward compatibility, and the core idea has not changed much, while vue switched from 2 to 3 to adopt a more react like approach, go figure.
Vue botched their upgrade path to Vue 3 and now it's stuck in a similar limbo to Python 2/3. They "released" Vue 3 long ago but basically none of the ecosystem including officially supported libs like the Vue-Router/Vuex was ready and now a long time later many are still using Vue 2 because the ecosystem still hasn't caught up. The docs for Vue 3 when it was "released" were not good at all.
I used to host a Vue meetup and was originally excited for Vue 3, but most of the people I talk to who use Vue in their projects are still stuck on Vue 2 and have no plans of upgrading due to most UI libraries still not being ready.
Even though there is a core team now, it seems Evan himself has been less focused on Vue and moreso on Vite and tooling in general lately. I don't complain much because I love Vite, and no longer use Vue but I do know some Vue devs who are losing confidence.
---
I use React daily and at the very least they have rarely if ever broken backwards compatibility without being very fair on the ecosystem in terms of the time needed to upgrade, and releasing experimental versions for people to test/play with. Both are similar when it comes to dev experience, both have dev-tooling and editor integration. Though TS support for Vue was always lacking behind React. "Vetur" which is the VSCode/Editor extension to get good support for .vue files worked well enough until your project grew beyond mid to large in size at which point it slowed to a crawl for every dev on my team. Didn't have this problem with React. I think there is a new extension for Vue nowadays though.
Some of this is obvious a side-effect of there being many more devs working with React daily both in a hobby and professional capacity than Vue though.