Why we chose Vue.js and it’s awesome
A little context
There’s lots of choice out there — Vue.js, Angular, React, Meteor, Ember.js to name a few. Each has its unique selling points. I’m going to go to explain how we implement Vue.js at Muxu.Muxu, and why it is our framework of choice.
First, a brief intro to Vue.js. Vue.js was built by Evan You in 2014 after he worked for Google, using Angular. His aim was to build a lightweight framework, based on all the parts he particularly liked about Angular. Vue.js’ features include:
- components to extend HTML elements;
- simple and intuitive state management of models for greater reactivity;
- a variety of way to apply transition effects when items are updated in the DOM;
- hot reloading of DOM elements.
That’s all well and good, but put like that it’s quite abstract. So how do we implement this framework at Muxu.Muxu?
We use Nuxt.js which is a framework based on Vue.js. It enables server-side rendering of HTML. This means that the client (the browser) isn’t responsible for fetching content, which can often be slow. The user isn’t faced with a ‘loading’ screen whilst the content is retrieved. Whilst this might not be a problem for SaaS sites, here at Muxu.Muxu we mostly generate landing pages. So if the user — and potential customer — is waiting for content to load, that’s a problem.
We based our choice to use Vue.js on a number of factors.
It’s super fast.
It’s reactive. It combines the best features of other frameworks such as React, and offers a virtual DOM that listens for changes and re-renders only the elements that need re-rendering.
It’s well-document. This is key — I wasn’t able to find any React or Angular documentation that is as clear as the documentation provided by Vue.js. This made it easy to learn. For all of the developers at Muxu.Muxu, whether junior or more-experienced, the documentation is really our bible. Vue.js is also easy to set up, with a CLI that provides everything you need to get started building a single page app. That’s a key takeaway from our experience — you really can get started in just a few minutes.
Of course, getting the most of any framework is a never-ending saga for any developer. The devtools in Chrome and Firefox make debugging way easier. Plus, the community is growing, which is an important factor that reduces the learning curve — unless you already know how to tackle every problem you might encounter !
Vue.js and React share the same concepts, router, state, components etc. I have no doubt a React developer can easily understand a Vue.js project, and vice versa. That’s why when recruiting, we are open to both profiles.
Over to you
Next time we’ll talk about integrating Contentful with a Vue app, which is a very powerful CMS that lets your clients build their own pages.
Article translated with the help of the amazing Emily Fiennes ✨