Vue.js 2.0 is in development and coming this year. What started as Evan You's personal project in 2014 has become a legitimate third option alongside React and Angular. Vue's growth, especially in Asia, proves a framework can succeed outside the Facebook/Google ecosystem.
The question is whether Vue's "progressive framework" philosophy is genuinely better or just different.
The Progressive Framework Pitch
Vue calls itself "progressive"—use as little or as much as you need:
Just the view layer (like React):
new Vue({
el: '#app',
data: { message: 'Hello' }
});
Add routing:
import VueRouter from 'vue-router';
Vue.use(VueRouter);
Add state management:
import Vuex from 'vuex';
Vue.use(Vuex);
Full build tooling:
import Vue from 'vue';
import App from './App.vue';
new Vue({
el: '#app',
render: h => h(App)
});
You start simple and add complexity as needed. React's ecosystem requires this discovery independently. Angular bundles everything upfront. Vue offers a middle path.
What 2.0 Changes
Vue 2.0 brings significant improvements:
Virtual DOM: Switching from dirty checking to React-style virtual DOM for better performance
Server-side rendering: First-class SSR support
Render function API: Lower-level API for library authors
Streaming server-side rendering: Render to stream, not string
Better TypeScript integration: Types for core APIs
These changes make Vue more React-like under the hood while keeping the template-based API simple.
The Template Syntax Appeal
Vue's templates look like HTML:
<template>
<div>
<h1>{{ message }}</h1>
<button @click="increment">Count: {{ count }}</button>
<ul>
<li v-for="item in items" :key="item.id">
{{ item.name }}
</li>
</ul>
</div>
</template>
This is more approachable than React's JSX for designers and developers coming from traditional web development. The templates are actual HTML with directives, not JavaScript that looks like HTML.
But templates are less flexible than JSX—you're constrained by what directives provide. Complex logic requires render functions, which are more verbose in Vue than React.
Single File Components
Vue's .vue files colocate template, script, and style:
<template>
<div class="component">{{ message }}</div>
</template>
<script>
export default {
data() {
return { message: 'Hello' };
}
};
</script>
<style scoped>
.component {
color: blue;
}
</style>
The scoped attribute makes CSS local to component automatically. This solves CSS global scope problems elegantly without CSS-in-JS complexity.
This pattern is controversial—it's "mixing concerns" by traditional separation of concerns standards. But Vue argues component is the concern, so colocating component's template, logic, and styles makes sense.
The China Factor
Vue's growth in China is remarkable. Companies like Alibaba and Baidu use it. Vue is more popular than React in Chinese developer communities.
Several factors contribute:
- Documentation: Excellent Chinese documentation from day one
- Simplicity: Lower learning curve than React/Angular
- Community: Active Chinese community and ecosystem
- No corporate owner: Not controlled by US tech giants
This geographic concentration is both strength (large community base) and risk (less global diversity).
Vue vs React: The Comparison
Both use virtual DOM and component architecture. Differences:
React advantages:
- Larger ecosystem and community globally
- More job opportunities
- React Native for mobile
- Facebook backing and resources
Vue advantages:
- Simpler learning curve
- Better documentation
- Official router and state management
- Single file components
- Scoped CSS built-in
Neither is objectively better—they optimize for different developer preferences.
Vue vs Angular: The Comparison
Both have templates and comprehensive solutions. Differences:
Angular advantages:
- Full-featured out of box
- TypeScript-first
- Google backing
- Enterprise credibility
Vue advantages:
- Simpler, less opinionated
- Progressive adoption (not all-in required)
- Faster to learn
- Less breaking changes
Vue is "Angular's ideas, React's performance, without the complexity."
The Longevity Question
Vue's biggest risk is sustainability. Evan You works full-time on Vue via Patreon funding, but that's precarious compared to Facebook/Google backing.
If Evan stops, what happens? The project is open source and has contributors, but the vision and direction are largely his.
This isn't immediate concern—Vue is growing and funded. But long-term sustainability of independent open source is unproven at framework scale.
When Vue Makes Sense
Vue works well for:
- Teams wanting simpler React alternative
- Projects with traditional web developers (not JS-heavy teams)
- Progressive enhancement scenarios
- Teams working in Asia (stronger ecosystem there)
Vue is less compelling for:
- Teams requiring mobile (no Vue Native equivalent to React Native)
- Enterprise environments wanting big-name backing
- Projects needing massive global ecosystem
Looking Forward
Vue 2.0 releasing this year establishes Vue as a mature, viable framework. The question is whether it gains traction outside Asia or remains geographically concentrated.
The "progressive framework" approach is genuinely different from React's flexibility or Angular's comprehensive approach. Whether it's better depends on team and project needs.
For developers, Vue is worth evaluating. It might not replace React/Angular but it's a legitimate third option that solves real problems differently.
Resources: