Vue.js: The Good, The Bad, & The Ugly
One of the worst things to figure out before learning a new JavaScript framework is whether you should waste your time with it. So we’ve picked out two good things, two bad things, and two things we hate about Vue.js.
Ready to Learn Vue?
Vue developers are in short supply. Are you ready to capitalize on that? CBT Nuggets has Vue.js online training that can teach you how to get started with Vue.js in as little as a weekend. Sign up for a 7-day free trial to start your Vue journey.
What’s Good About Vue?
Vue.js is a great framework. It’s an excellent choice for small and medium-sized apps, small teams, or rapidly prototyping products. Here are two things we love about Vue.js.
Vue includes data binding
Vue borrowed the idea of data binding from Angular, and it's an excellent feature. So, what is data binding? Data binding lets developers create reactive data in the DOM without having to update the DOM directly, or in this case, the virtual DOM.
For example, let’s say that you’re creating a social media app and are implementing a ‘like’ feature similar to Facebook. A web socket notifies the app whenever someone likes a post so the like count can increase in real time. Whenever someone likes a post, instead of needing a bunch of functions to update the like button in the app, it updates itself automatically simply because the ‘Like’ value changed.
Vue includes routers and state by default
Some Javascript frameworks require 3rd-party tools for things like routing or state management. I’m a big fan of depending on 3rd-party libraries as little as possible.
Vue includes things like a router and state management by default. That means essential tools, like the router used to control app navigation, will always be supported. You don’t need to worry about replacing abandoned libraries unless Vue itself goes belly-up.
What is Bad About Vue?
Vue is my preferred javascript framework of choice. I won’t be shy about admitting it. That doesn’t mean that Vue.js doesn’t have its faults. Here are two things in Vue I am not fond of.
Vue has a seemingly arbitrary architecture
For many developers, the Vue architecture isn’t an issue. When I first started learning Vue.js, though, it was weird. Each Vue file is broken into three sections:
HTML
Javascript
CSS
This is in stark contrast to something like React where everything is written as a function in JSX.
The Javascript section is broken down into specific components like methods, watched, computed, etc… These translate into class or properties, so after you understand what’s going on behind the scenes, Vue makes sense. For newcomers, though, it isn’t obvious why Vue is structured the way it is.
Vue online learning resources are lacking
Even though Vue is the second-largest Javascript framework, its community-based tutorials are lacking. That’s not to say that there isn’t plenty of help online for Vue.js, but compared to React or Angular, that help is sparse.
Can you find help with learning Vue? Of course! If you don’t understand a tutorial or explanation on StackOverflow, you may be out of luck finding a similar resource explained differently that makes sense to you.
What do People Hate About Vue?
There’s no better way to say it; there are some things that aren’t great about Vue. Here are two of them.
Migrating from Vue 2 to Vue 3 is no picnic
Are you familiar with the Python 2 vs. 3 debacle? Python has itself in a position where it’s painting two versions of Python because the changes made between Python 2 and 3 are very dramatic. Vue has the same issue.
Vue 3 has been out for some time, but the community is not embracing it quickly. Nonetheless, Vue 2 goes out of support in 2023. If you’re starting a new project, you’ll want to use Vue 3. However, many plugins, libraries, and community resources have not been ported to Vue 3. Vue 3 has enough changes that libraries can’t simply drop into it.
Migrating from Vue 2 to Vue 3 isn’t easy, either. There are a lot of small changes in Vue 3 that can cause weird issues in your app during migration. Some problems can be very nonsensical, too. That could put you in a position where you’re chasing down a ghost in the machine for weeks.
Vue developers are in short supply
Are you trying to find a developer to help with your project in Vue? Good luck. React developers are a dime a dozen. However, quality Vue developers are in short supply. Finding a Vue programmer that can hit the ground running for your project won't be easy.
Of course, on the flip side, if you are a Vue developer, this is a good thing. That means you’ll have less competition finding work.
delivered to your inbox.
By submitting this form you agree to receive marketing emails from CBT Nuggets and that you have read, understood and are able to consent to our privacy policy.