vue.js

Why should I use Vue.js?

This article is explaining why Vue is my favourite framework.

In order to truly understand why an option is the better choice in a given context, you have to possess a deep knowledge of how it works. Also, you have to understand how the other frameworks would operate compare to it. You don't have to know all the frameworks which compete with Vue but at least the major player from the market. Nice sentence, now let's dive into the subject.

So what is Vue.js?

The definition in the documentation is the following, Vue. js is an open-source Model–View–View-Model (MVVM) JavaScript framework for building user interfaces and single-page applications. In formal English that would translate to the following, vue.js is a javascript library that allows us to build the user interface of a web application based on components with high reactivity.

What's the difference between a library and a framework?

A library gives you the flexibility to customize your development environment. For example in Vue.js the recommended form validation framework is vee-validate, but you are free to choose also @hapi/joi. If you choose vee-validate you're using the recommended Vue validation library and it becomes a framework otherwise it's a library. An example of a library is good old Jquery.

How did I end up using Vue?

I was finishing a contract, in which I used React, and I felt really comfortable using it.

But in the back of my mind, I knew it's not enough. In order to become a senior front end developer, you have to know at least two major frameworks out there. You might wonder: Why? To be able to make a difference between them. In order to grow and become a senior, you have to understand the core functionality of these component libraries, understand the differences between them, and when to use them. The opportunity came along and I had the chance to join an organization that offered me the possibility to learn and use Vue.js In the beginning, it was really challenging, but within two weeks I was writing production code.

Do I have to be an expert to use it?

I'll start by saying that all these components based libraries expose us to a higher level of complexity when using them. You don't have to be a front-end expert in order to use it but you have to understand how things work and the connection between them. You have to have a decent level of how knowledge regarding the javascript ecosystem. You have to understand HTML55 and CSS3/SCSS. We like it or not, it's impossible to make websites without them. Another important aspect is npm and webpack which are crucial in developing a component-based framework. If you come from react the learning curve is small (1 week), as it happened to me. If you come from a Jquery environment the learning curve is higher (3 weeks). Now just to mention is that my estimates regarding the learning curve are for developers wich have around 3 years of experience.

How do I see Vue.js?

Let's start with a bit of history, I was using Jquery on the front-end for a long time, and after React came along. I started using React in the projects that I worked on. Now React burned a lot of developers out because it was so different compared to Jquery, and everything that you did in Jquery you had to learn once again from scratch with React.

cms

React felt so different from what Front End Development was until I met Vue, and everything changed. I was super impressed by libraries, but I have to say that React shocked me at first and Vue just took all the pain away. I see Vue.js as the next Jquery as a front end developer. Why?


Because:

  1. -Vue.js it's easy to learn
  2. -Vue.js is fast to implement
  3. -Vue.js is high reactivity (read this argument at least twice)
  4. - Vue.js is easy to work with Vuex, the official vue.js store
  5. - Vue.js is easy to work with Vue test utils, the official vue.js testing library
  6. - Vue.js is easy to work with the Vue router, the official vue.js routing library
  7. - Vue.js is easy to understand the structure of a VUE file
  8. -Vue.js it was designed to be used as a SPA and also in hybrid projects
  9. -Vue.js is a good library to help develop… and I could carry on for hours

There are going to be a lot of developers out there who are going to compare frameworks, without having experience in them. Saying that React is better than Vue, but you haven't tried Vue, or vice versa is just wrong and truly unprofessional. In order to have an objective opinion, you have to have experience with the comparing terms. If your opinion is subjective then it's down to personal preferences. I have worked with Jquery, React, and Vue, and as I see Vue as the winner, due to its benefits.

How is the development process with Vue.js?

It's fast because it's templated based. Vuex, the store it's super easy to set up, and you don't have the problem that React applications have with reducers. Because is so easy to use the store, the development process is shorter and that means more money for the business. This is just a minor detail, that can make the difference.

If you want to find out more about how I refactored my project based on the MEVN stack, please read this blog article.

Conclusion

Vue.js is a great framework, which has a short learning curve and, it can improve a lot the user experience.

I like using the Vue.js ecosystem, it offers high flexibility, for developers and business owners.

Vue.js is not as popular as React, but this doesn't mean that Vue is not an awesome framework.

I've used both, Vue.js and React, and I can say that both are awesome to work with.

Why do I use Vue.js?

  • Vuex and Vue's reactivity
  • Vue router is easy to use
  • I love Vue.js reactivity
  • Does the same thing as React.js, but better
  • The development speed to new joiners is pretty high

Do you have any questions about Vue.js?