Should I Learn React or Vue.js?
September 3, 2020
Should I Learn React or Vue.js? That is the question we all see on social media and forums.
Although it may be asked a lot, as a beginner, learning can be tough enough without making the wrong decisions.
We don't want to learn something new, only to find out there is no prospects, jobs, or the tech we spend months or years learning is becoming obsolete.
Luckily, in my opinion, the future seems bright (or as bright as it can be in the front end world) for both React.js and Vue.js.
React has huge backing by Facebook, huge adoption by many developers and companies, and a vast ecosystem.
Vue.js, although missing the huge backer like React, is also a hugely popular framework and has established itself as a frontrunner in the front end world. And with the upcoming release of Vue 3, that position looks to be further strengthened. Vue also is in a position where the major ecosystem tools such as the Vuex state management library and router are also developed and maintained by the Vue core team, so you can expect great compatibility and simultaneous development.
You will find no shortage of blog posts, YouTube videos, training courses and learning materials for both, and both have very good documentation too.
In addition to this, they both have very well developed tooling to create and maintain new projects. React has create-react-app, and Vue has the Vue-CLI to rapidly scaffold a new project.
So, which should you pick as a beginner?
There is no right answer. The (boring) answer is to give them both a try, build a small app in both. I always recommend choosing the one you feel most comfortable and productive using. As developers, we spend a long time staring at screens, so to be comfortable and productive is a huge bonus.
Of course, employers may make the decision for you. They may use one and you are stuck using it, which is fair enough and part of being a developer.
In terms of jobs, React seems to have the most opportunities in many parts of the world. This can be an important factor and one which you may need to research for your local area.
In my opinion, and one I also see regularly too, is that Vue.js seems to be easier to learn for beginners. And also very enjoyable to work with. But, again this is just an opinion and everybody has different views, which goes back to the idea of trying both and see which works for you.
As somebody who has experience using both, for me knowing one to begin made it easier to learn the other. A lot of concepts are similar, component structure, props, state etc.
Both also have a well developed companion frameworks too. React has NEXT.JS, and Vue has NUXT.JS. Both of these frameworks are designed to offer a great developer experience, and production-ready performance. They offer support for file based routing, Server Side rendering, Static Site Generation and automatic code splitting no name a few benefits.
Also another thing to remember is that neither will hold you back in terms of performance. At least until your app reaches a huge scale. Both are highly optimised, tested using tens of thousands of components, placed under stress tests, and perform extremely well. Both are currently used in large scale companies. In reality, it is very likely that many other things such as developer skill and design / infrastructure choices etc which will hold performance back before your choice of Vue or React.
So, give both a try, and see which works for you.