Some days ago, at the office, we were discussing which technology/framework should we use in a new project so we could build a really cool front-end. Several ideas were tossed on the table, Angular and React being the most familiar sounding words for everyone. I then said: “Why don’t we use Vue instead?” and as you might’ve guessed everyone was like “Whaaaaaaaat?”
Ok then, I shall explain this for those of you who might be sharing those same feelings as my co-workers. I came around the name of “Vue” right when 2016 was starting and I had some spare time to research about new tech. I had been getting into the world of One Page Applications due to a personal project I started in 2015 and by then I chose Angular just because it was mainstream and really liked it, although it took me some time getting used to. When I started looking about Vue, I felt empowered by how friendly it was to a newcomer like me (mostly thanks to the awesome Guide they provide), how simple it was to define components and whole pages, or integrate them with other frameworks.
I’ve been using it for a year already, Vue2 was born during that time only to make things better, and little by little a “Personal project” became my most trusted resource when developing front-end.
I’m not a seller, just a believer
Look, I’m not trying to sell you Vue, it’s open source and you can collaborate with it, use it freely and even make money from applications based on it, that’s up to you. I’m just trying to make sure you don’t judge things by the noise you hear everywhere. Here are some reasons why Vue is awesome:
- Vue is easy to learn! It won’t take you more than 10 minutes of reading before coding a small “something” with Vue, and understand what you are doing.
- It is reactive, but in a good way! Everyone loves React because of its reactive capabilities implementing the Observer pattern on a VirtualDOM implementation so that the actual DOM is only refreshed when needed. Well, Vue does all that, and even more: It gives you a really awesome interface to do so, like this:
In the above example, every time x is modified, doubleX will be refreshed. No dirty checking or polling. Simple and performant.
- Vue is a Team Player! Because if you pretend everything to be in “One Framework” (ahem… Angular… ahem) you are likely to end up getting caught in pitfalls, performance issues or simply someone else does THAT part of the job better than your frameork. Vue does what it is good at: Handling you UI. It provides you you a few officially supported frameworks that work on top of Vue to implement additional features (vue-router and vuex) but they are not required and you can use any other routing mechanism, or state-management library such as Redux, or… pretty much anything. No special implementation or “Vue-fication” required.
- Templates and Styles, the way you want them! Look, JSX sucks, dot. HTML + Handlebars is the default supported configuration for Vue’s templates, but it contains built in support for Pug and you can easily add other template definition libraries. It’s pretty much your choice, for you are free. Free as you have rarely been before. So free that you can also use any CSS pre-processor you want, although you can directly put SASS code in your components.
What about support?
Well, I can only answer you like this: If you have a child, who do you think will care about him/her more? You, or a multinational company? A similar situation happens with Vue, since it’s Evan You’s creation, I’m pretty sure he will do amazing things now that he has the support of a team fully committed to Vue.
Also… have you realized Vue is Twice as popular as Angular? And is pretty close to React? At the moment of this writing, Angular has 20782 stars in github, Vue has 43557 and React 59955. 2 weeks ago, Vue had roughly 40500 stars. See where I’m going? It’s not like Github stars are an absolute measure of popularity or use, but it’s a lead and a good one at that.
A final note
Vue so far has convinced me it has the means to stand up for itself in an ever-competitive scene such as the front-end frameworks one. Every day many sub-frameworks arise (such as the awesome vue-material) and small components to make your life easier, the ecosystem relying on Vue grows as much as products using it.
I, for one, will continue mixing it in everything I do while I can, because I consider it the most honest effort to make developers life easier. I also hope by now you understand Vue is a thing, and one to take into account when making a decision.
Next time, when Vue sounds near you, I really hope you don’t say “Whaaaaaaaat?”