These past two days I have been diving into Vue.js. In Maximilian Schwarzmüller’s words: the child of Angular and React.
I will be honest, when I was at the Angular vs. React vs. Vue.js crossroad, I felt an emotional attraction for Vue.js. I don’t know why. Perhaps it was the logo’s cool green color or perhaps the fact that Habitica is built with Vue.js and that would have allowed me to contribute to Habitica’s repository (in case you haven’t followed along, I love Habitica!). None of the above? All of the above? Who knows?
What I Think So Far
I like it. A lot. And I wish I could objectively justify that my initial attraction for Vue.js was a serendipitous moment or a call from the Universe to pick Vue.js. But I can’t justify it 🙃.
Vue.js vs. React (I don’t know Angular)
Learning Vue.js is fun, straightforward and intuitive. At least more than React. Now I’m not trashing React. React has been my main tool for almost a year and I’m just trying to make a healthy comparison. They are different in some aspects and similar in others.
The CLI, for example, reminds me of React.
Passing down data through props reminds me of React too.
And they both work component-wise.
Differences? Vue has its own state manager and router, unlike React.
Also, the separation of concerns, in some manner. Some people (and non-people too, maybe?🤖) prefer CSS-in-JS practices with React. This is not exclusive to React but is it where I have seen it the most.
Normally, we use JSX in React. Vue.js preserves HTML in its “natural habitat”.
Among many other differences and similarities…
In the end, it is a matter of preference, style or current situation. Vue.js has a smaller learning curve than the others, an excellent documentation and it is not constrained to the properties of a specific technology or company.
Are these pros or cons? That is for you to decide. I just know that I am having fun with Vue.js and I will continue to do so.