Technologies

The spiritual successor of Backbone

Published 2 years ago

Perhaps it isn't fully true, and his creator would kill me now, but I've been experimenting with Vue.js for a while now and I truly believe it to be the first "JS Framework made for people" right after Backbone. Does it deliver? Yes it does! Is it easy and fun to use? Sure it is! Let's find out why.

Vue.js and Reactive components

Vue totally embraces the new way of building modular, reactive components — a la react/meteor/etc — but it does that in a clean way and it doesn't mix your JS logic with the template, while keeping all the best parts of building composable and reusable view components.

Vue isn't a full-blown solution or a huge framework, but just a very thin view layer, so you're free to use any existing library you like, although I don't really recommend polluting it with loads of external libraries, but rather try to stick with "The Vue Way".

Update: well it turns out Vue.js 2 now includes the vue-router and many other things by default, hence it's getting slightly bigger and towards becoming a framework with many features backed-in.

Anyway... I've been using Vue in production for quite a while now (almost a year) and the team is still very happy with the modularity we managed to achieve with such framework. Everything is well-distributed, organised and the scope is isolated to little components although we use a centralised state (like vuex) as most webapps nowadays do.

I've been a huge fan of Backbone+Marionette in the past, while in most recent times I used to write all my client-side code with Meteor+Blaze, and I must say it looks like Vue got the best of both worlds. Its template engine is really easy to use and very descriptive, while the Model-View code IMHO extends some basic principle I did find back in the days when using Backbone. You can also see some similarities with React and you can feel feel they're both heading to the same direction, although I personally much prefer Vue if I must say.

I could go on for ages but the reality is that
A) the official docs will tell you a better story
B) it's rapidly changing so my post will be out of date very soon if not already :-)
C) chances are you're already looking at the Vue.js docs before you get to the end of this short post.

Which means that my work here as a "Vue.js evangelist" is basically done. Talk you soon!