Vue.js: The Good, The Bad, & The Ugly
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
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 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:
This is in stark contrast to something like React where everything is written as a function in JSX.
Vue online learning resources are lacking
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.