Vue.js by Evan You offers an accessible, performant and flexible framework for building UIs. Why it is growing so fast and how it compares to React and Angular.
Progressive adoption¶
Vue.js stands out with its progressive approach — you can add it to an existing page with a single script tag, or use it as a full-featured SPA framework with a router, state management and build tooling.
Evan You, an ex-Googler from the Angular team, created Vue as a reaction to Angular’s complexity. The goal: take the best of Angular and React and package it accessibly.
Reactive data model¶
Vue.js uses a reactive system — changing data automatically updates the DOM:
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!',
todos: [
{ text: 'Learn Vue', done: true },
{ text: 'Build a project', done: false }
]
},
computed: {
pendingTodos: function() {
return this.todos.filter(function(t) { return !t.done; });
}
}
});
No setState() like in React, no zone.js like in Angular. Just change the data and Vue takes care of the rest.
Single File Components¶
Vue Single File Components (.vue files) combine template, script and style in one file:
<template>
<div class="todo-item" :class="{ done: todo.done }">
<span>{{ todo.text }}</span>
<button @click="$emit('remove')">X</button>
</div>
</template>
<script>
export default {
props: ['todo']
}
</script>
<style scoped>
.done { text-decoration: line-through; }
</style>
Scoped CSS ensures styles do not affect other components. vue-loader for Webpack processes .vue files automatically.
Vue vs React vs Angular¶
Each framework has its place:
- Vue — lowest barrier to entry, excellent documentation, ideal for smaller teams and gradual adoption
- React — largest ecosystem, flexibility, strong in enterprise with Redux
- Angular — batteries-included, TypeScript first, best for large enterprise teams
Vue is growing fastest on GitHub and has an enthusiastic community. For new projects it is a legitimate alternative to React.
Conclusion: Vue deserves your attention¶
Vue.js proves that a framework can be both simple and powerful. If you are looking for an alternative to React or Angular with a lower learning curve and excellent documentation, Vue is a great choice. Try it on your next project.
Need help with implementation?
Our experts can help with design, implementation, and operations. From architecture to production.
Contact us