When you’re building large applications, the choice of frontend framework is extremely important. There’s many out there and new ones are released all the time, but it’s important to make the right choice early and avoid jumping between different frameworks on each project. For us, this is Vue.
So what is Vue? Vue is a frontend javascript framework created by Evan You, an ex-google employee. Released in February 2014, the framework is in it’s second major version and is now battling for the top spot of “Most Popular JavaScript Framework” amongst developers. Evan worked closely with Google’s “Angular” framework and it didn’t take him long to pin point areas that needed vast improvement. With this in mind, Vue was born.
When you think “frontend framework” you probably think of React right? If you don’t then you’ve probably heard it - or it’s mobile app variant “React Native” - mentioned in the tech-sphere. React is usually thought to be THE solution for large applications because it’s been thoroughly battle-tested as it powers the facebook website. The problem with React is that the learning curve is quite steep for new developers and requires the developer to do a lot of manual work to do things that shouldn’t need to be done. This is especially problematic in a growing development agency where new developers are being onboarded all the time.
I won’t make this a “React vs. Vue” post because there are plenty of them out there already. I’ll just try to sell the idea to you the same way it sold itself to us from the beginning.
For us, one of the main benefits of using Vue is the barrier to entry is almost non-existent. Vue is a lot more natural to develop in. It uses plain old HTML and a sprinkle of custom attributes for component markup and logic, which takes little to no time to become comfortable with for developers at any level. This natural language makes it extremely quick to develop in with only a basic amount of JavaScript knowledge.
Obviously it shouldn’t just be about the development experience, you shouldn’t go the easy route and then compromise on features. It’s much more crucial to make the right choice for the project you’re building and to ensure the client is getting the best possible product.
One of the key points there is performance. The DOM (the HTML markup rendered on a webpage) is notoriously slow to manipulate when doing a lot of operations. Vue gets around this by generating a “Virtual DOM”. Virtual DOM is, in essence, a code representation of the normal DOM that can be manipulated without affecting the actual page until all changes have been calculated. Doing so means it can automatically keep track of which parts of the page need to be updated as changes occur rather than rerendering the entire page. Vue does all of this out of the box without the developer needing to do anything.
Not every project we build is a large-scale product. We build a wide range of websites including landing pages, brochure sites, single page applications and large bespoke systems, so it’s important that the framework we use can adapt based on individual needs. This is another area that Vue excels in. Vue.js at it’s core provides the component and reactivity system. Other important areas such as routing for single page applications and shared state management systems are completely opt-in based on your needs, and are officially supported packages so that you know they will work when you need them.
At the top end, you can build large multilingual Single Page Applications that are Search Engine friendly using as little as three extra libraries. In its simplest form you need only pull a single script file into your page and start using it’s features. It’s really that accessible.
Without getting too technical, the above points are just the tip of the iceberg of reasons why we feel Vue is the right choice of framework to power not only your projects, but also all of our projects both internal and external.
In fact, we love Vue so much that later this week we are sending some of the team down to attend Vue.js London, the first official UK conference for the framework. With a multitude of speakers across the Vue.js ecosystem it’s sure to provide a wealth of knowledge to help us build even better products for our clients. If you’re heading to the conference, do come and find us, we would love to chat with you. If this is the first time you are hearing of the conference and are interested in attending, tickets are still available, all details can be found on the official VueJS.london website.