Vue.js
A frontend framework that prioritises approachability.
What it is
Vue.js is a JavaScript framework for building user interfaces and single-page applications. It was created by Evan You in 2014 after he worked at Google on Angular. The design goal was to take the good parts of Angular and make them much more approachable for people who weren't full-time framework engineers.
Vue uses a template-based syntax that looks close to standard HTML, which means the learning curve is gentler than React. State management and reactivity are built in rather than requiring separate libraries, and the single-file component format (`.vue` files) keeps HTML, CSS, and JavaScript for a component in one tidy file.
How I use it
I use Vue on projects where the client's team includes people who need to maintain the frontend but aren't specialist React developers, or where an existing codebase is already Vue-based. The approachability of the template syntax means a developer who knows HTML and JavaScript can get productive quickly.
Vue 3 with the Composition API brings it much closer to React in terms of how logic is organised, while keeping the HTML template approach that makes it easier to onboard non-specialists.
Why this over the alternatives
For most new projects I reach for React via Next.js, because the ecosystem and deployment story are mature. Vue is the right choice when approachability matters more than ecosystem size, or when working with an existing Vue codebase. Both are well-maintained, both perform well, and choosing between them is largely a project-context decision.
What it means for your site
- Gentler learning curve for developers coming from HTML/CSS backgrounds
- Single-file components keep HTML, CSS, and JavaScript co-located and readable
- Excellent documentation - consistently rated among the best in any framework
- Reactive data binding built in without additional state management libraries for most use cases
Works with
Also in Frontend
Want this on your project?
Get in touch and we can talk through what stack makes sense for what you are building.
Start a conversation