Until a few weeks ago I had only heard whispers of VueJS through the likes of Twitter and Reddit, where I would constantly see other developers singing its praises. All I knew about Vue was that it was a frontend JavaScript framework similar to the likes of Angular and React, I had no idea why so many people were getting so insanely hyped. That is until I decided to give it a shot for myself, and I have to say that so far I am really impressed. These are some pros and cons that I’ve noticed from my experience so far, please note that I am still very new to the framework and have not covered a lot of the concepts these are just my first impressions.


Easy to Learn

I found the barrier to entry to be extremely low compared to when I started learning React. (though it could be possible that this seemed like a simpler process due to the fact that React and Vue share some similar concepts). The official documentation and guides are really easy to follow, and whenever you find yourself stuck Vue has a strong community online full of people constantly answering questions and assisting each other.

Structure and Readability

I love how easy Vue is to write / follow. The process of writing a component feels fluid and intuitive. Implementing logic directly in the markup with the use of directives makes following what’s going on a lot easier. The fact that Markup, JavaScript and styles are segmented makes it a lot easier to follow in my opinion. I much prefer this over the way React components are normally structured. It feels cleaner to me.


This is a very minor note but I feel it needs to be glorified! Writing comments in a Vue template just works! Coming over from React this was an awesome feeling to just write a standard HTML comment in my markup without having to worry about any errors popping up! I absolutely hate the fact that I need to wrap JS comments in a pair of curly braces in React {/* IT IS A PAIN! */}. 200 cool points to Vue for this one.

Robust and Flexible

Once I started properly looking into Vue one thing that immediately caught my eye was that you could either implement Vue as a whole hearted frontend framework, or you could use it more like a library, similar to jQuery and cherry pick exactly where in your application you wish to implement it. This was a massive selling point to me and so far integrating Vue into existing projects has been ridiculously easy.


Outdated solutions

Vue is evolving rapidly and as a result when it came time to hit Stack Overflow I found myself getting stuck with answers to questions that are now outdated. Fortunately the ever enthusiastic community is pretty much always on hand to keep you up to date and point you in the right direction.

Very Niche

This may be a little bit nit picky, but one thing I’ve noticed so far is that their appears to be a lot of Vue specific learning. Let’s take conditional rendering for example, in Vue you can use the v-if and v-else directives. This is neat and gets the job done, but you’ll only see this syntax in Vue. In React however you can utilise conditional rendering using standard JavaScript syntax, this is a piece of logic you can then take and implement outside of React.


So far the pros far outweigh the cons and I am really enjoying my experience with VueJS. The ease of integration, the gentle learning curve and the easy to follow structure make it a front runner in my stack choices going forward. I am really eager to keep going down this rabbit hole and see what else I learn, I’ll be sure to drop provide updates as I go! Thanks for reading!