Disclaimer
- This post not a comparision between Vue & React features.
- This doesn’t recommend which one to use in your next project.
- This was expected to publish in
November 2018
, but couldn’t. Publishing this now just for records.
October 2018
when I started my new consulting work, the initial days itself I was pulled into the debate of Vue
v/s React
.
2 years before we have done some react for the same company.
But this time when I went to this company most of the projects where using Vue
. I took up this work thinking I will be working with Vue
,
but I didn’t know that there where some discussion happening on switching back to React
. Soon I became part of this heated debate.
Since I am coming from the React
I am slightly biased to React but tried to keep open to ideas and thoughts around Vue
.
Most of the discussions went like both parties try to list the features out of React/Vue and this didn’t yield any result.
By this time I got a chance to take a look into some vue projects in the company and got some overview how they are using it.
Almost in first week of Nov 2018
when we had another discussion and same feature listing started, I intervened and made them stop
and asked 2 questions.
- Why we moved to Vue from React?
- Why are we again considering moving to React?
for both these I didn’t got any satisfactory explanation other than Vue is beginner friendly and other normal arguments.
Long story short, we decided to go with React
. means all the upcoming projects will be done in React
but will maintain the Vue
without rewriting.
In the rest of the blog post I will try to explain why we made this decision.
1. Used by large corporates
Many famous and daily used web application where using React for Eg.
- Facebook (of course the creator)
- Slack
- Microsoft
- Flipkart
- Paypal
Where on the side of Vue
- Gitlab
- Ola
- Zoomcar
can be more but didn’t see much major players.
Also one of my friend’s team started moving to React
from Vue
to various reasons similar to this.
2. Better tooling and support for modules
Since React
is used by large corporations and they contribute back in the form of some useful modules
Modules like
downshift
,react-testing-library
by Kent C Dodds from Paypal- React router, reach router by React Training
Support for the CSS-in-JS
libraries like glamour
, emotion
etc.
When it comes to tooling, babel
officially supports it.
When we look into vue, I couldn’t see much modules which are community supported and continued maintenance other than official Vue components. So we concluded the availability and community support of modules is much better in react ecosystem than Vue.
3. Better community in town
Since we are in Bangalore
the local React
community is just awesome. Each meetup is with ~150 attendees (this is not the RSVP count) with great talks.
Even there is multiple React community and meetups happening, where as for vue very few.
Even a general Js meetup will have at least one talk on react.
4. Future is promising
When this discussion was happening, hooks
were not released and Suspense
, Async rendering
, React.lazy
etc where just released. All these new features were towards the productivity of the consumers. Also react already had RFC process.
On Vue, on future mostly it was like rewrite into Typescript
which was not adding any advantage for consumers. No new special features where not in queue and some rumours where like Vue
will adopt hooks in future. Now Vue
started with RFC process.
Conclusion
It’s not an easy task to evaluate 2 similar frameworks/libraries especially for a corporate. This decision is going to change a lot of things there. Right or wrong they have to live with this decision for a long time. So this should be made after stepping out of the fan zone and tech. We have to even think of hiring, expanding the team, long time support from corporate and community.
This post is not against Vue
, just a document on how we took this very hard decision to go ahead with React
for all future projects.
By this post I am trying to convey you to use React
for next project rather it might help you in your decision making when it comes to coorporate environment.
Photo credit: Jyotirmoy Gupta