Cover image by Clément H on Unsplash
I recently started working with Vue.js, and so far it has been one of the most enjoyable frameworks to learn. It’s very easy to set up and you can build something simple very quickly. I have had a so much fun with it recently, and felt the need to write this post and share some of the reasons I think people should give it a try!
Simplicity
Adding Vue to an existing web project is relatively simple. You can start coding very quickly without having to know anything about JSX, ES2015, or build systems to get started. As long as you are familiar with HTML and JavaScript, you can read their guide and build something basic within a day, which is a big advantage in a fast-paced development team where you may have to pick up something quickly.
Flexibility
With Vue, you can write an app very quickly and run it straight from the browser, or you can build a complex application using ES6, JSX, components, routing, bundling etc if you want to.
It can handle the many different ways in which you might want to use it. It is also flexible enough that it accommodates for different ways of writing your code, for example, you can write a template in HTML, or in Javascript, or you can use JSX.
It gives you the freedom to structure your application in a way that suits you, there is no ‘right’ way.
Comprehensive documentation
The Vue documentation is very detailed, easy to understand, and includes various code examples. It also has a good, growing community of developers that can offer help when needed.
Can be used for simple and complex applications
For larger, more complex applications you can use Vuex for state management and routing. A key difference between using Vuex and using Redux/Flux with React for example, is that Vue’s companion libraries are officially supported and kept up to date with the core library. Redux and Flux came from the React community and is not tied to React.
Transition effects
During the transition process, Vue adds and removes classes on components/elements. It has 6 different classes which you can then customise in Sass to handle timing, and the start/ end styles of the transition.
It is fun!
I have personally had so much fun learning to use Vue. Coding can be frustrating at times, but with Vue whenever I learn how to do something new it is exciting. They have made learning a JavaScript framework incredibly enjoyable and rewarding.
Summary (TL;DR)
In summary, here are some of the advantages of using Vue.js:
- It is a stable progressive framework
- Easy to learn and understand
- Simple and flexible
- Uses MVVM architecture
- Comprehensive documentation available
- Focus on organisation / project architecture
- Can be used for simple and complex applications
- State management is simple and intuitive
- Provides a number of ways to use transition effects
- It is a lightweight framework in comparison to React or Angular (around 20-30kb in size)
- It is fun!