Vue.js
Open SourceThe Progressive JavaScript Framework.
Published 29 May 2026 · Last updated 27 September 2026
Scores
Popularity4/5
The second most popular frontend framework; dominant in Asia and popular globally.
Learning Curve3/5
Progressive framework; Options API is beginner-friendly; Composition API raises the bar slightly.
Flexibility5/5
Progressive framework; both Options and Composition API with no opinions on state or routing.
Performance5/5
Efficient reactivity system; Vapor Mode (experimental) eliminates virtual DOM overhead.
Portability4/5
Component model transfers well to React and Svelte; skills are broadly applicable.
About Vue.js
Vue.js is a progressive JavaScript framework for building web user interfaces, created by Evan You and first released in 2014. "Progressive" means it can be adopted a step at a time: add a <script> tag to an existing HTML page for a bit of interactivity, or use it as the base of a full single-page application with Vue Router, Pinia, and Vite.
Vue 3, the current major version, was rewritten in TypeScript and added the Composition API, a function-based way to organise component logic that is easier to reuse and type, while keeping the original Options API for those who prefer it. Its reactivity system tracks dependencies with JavaScript proxies and updates only the parts of the page that changed. Single File Components (.vue files) keep a component's template, script, and scoped styles together. Vue 2 reached end of life at the end of 2023.
The official ecosystem covers most application needs: Vue Router for navigation, Pinia for state management (the successor to Vuex), Vue DevTools for debugging, and Vite, the build tool created by the Vue team and now used across the JavaScript world. Nuxt extends Vue into a full-stack framework with server rendering, static generation, file-based routing, and server API routes.
Vue renders through a virtual DOM, and Vapor Mode, arriving in the 3.6 line, is an opt-in compilation mode that skips the virtual DOM for chosen components to reach Svelte- and Solid-level performance without changing component code. Vue is free under the MIT licence and funded by sponsors. Its job market and third-party library selection are smaller than React's.
Key Features
- Incremental adoption, from a script tag to a full single-page app
- Declarative templates with proxy-based reactivity
- Single File Components (.vue) with scoped styles
- Composition API and Options API
- Official Vue Router, Pinia, and Vue DevTools
- Vite build tooling with fast hot module replacement
- First-class TypeScript support
- Opt-in Vapor Mode for rendering without a virtual DOM
Pros
- Easier learning curve than React or Angular
- Official router, state management, and devtools, so fewer choices to make
- Single File Components keep template, logic, and styles readable together
- Works as a small library or a full framework
- Clear, thorough official documentation maintained with each release
Cons
- Smaller job market than React
- Fewer third-party libraries than React
- Two API styles (Options and Composition) can confuse beginners
- Less opinionated than Angular, so teams make more structural decisions
- Old Vue 2 code and libraries need migration work
Vue.js Pricing
Open SourceTech Stacks with Vue.js
Browser Extension Starter
ProjectA beginner-friendly stack for building cross-browser extensions. WXT handles the Manifest V3 boilerplate and cross-browser packaging; a component framework (React by default, with Vue.js and Svelte also available) and TypeScript provide a familiar UI layer; Supabase adds cloud storage and auth if the extension needs a backend.
Vue + FastAPI
ProjectVue.js frontend paired with FastAPI, a fast, async-ready Python API backend.
Vue + Node.js + PostgreSQL
ProjectVue.js SPA with an Express/Node.js API and a PostgreSQL database, self-hosted or serverless on Neon, Prisma Postgres, or PlanetScale.
Frontend
Programming
Databases
Hosting
Authentication
Tools Related to Vue.js
Works well with Vue.js(4)
Astro supports Vue as an interactive island framework via @astrojs/vue — Vue components are embedded in Astro pages for interactivity while the page shell stays static.
WXT supports Vue as its UI component layer — Vue's progressive framework makes it a good fit for medium-complexity browser extension UIs.
Plasmo supports Vue as a UI component option — Vue's progressive framework is available in Plasmo for teams that prefer Vue over React or Svelte for their extension UI.
Netlify deploys Vue/Vite apps with zero config — Netlify detects Vite builds and deploys the dist/ folder; used for Vue SPAs and Nuxt static exports.
Integrates with Vue.js(2)
Laravel + Vue is the canonical Laravel SPA stack — Laravel Inertia.js with Vue is the official first-party pattern for building single-page apps on top of Laravel without a separate API.
The AI SDK's @ai-sdk/vue package provides useChat and useCompletion composables for streaming AI responses into Vue and Nuxt apps.
Built on (1)
Vue is a JavaScript framework for building user interfaces, with single-file components written in JavaScript or TypeScript.
Frameworks built on Vue.js(1)
Nuxt is a full-stack metaframework built on top of Vue.js — it adds SSR, file-based routing, auto-imports, and Nitro deployment adapters over the Vue UI layer.
Alternatives to Vue.js(4)
Both component-based JS UI frameworks; Vue has a gentler learning curve, React has a larger ecosystem and is backed by Meta.
Both lighter alternatives to React; Vue uses a virtual DOM, Svelte compiles the framework away entirely.
htmx adds server-driven interactivity to any HTML without a framework; Vue builds reactive client-side UIs.
Vue is flexible and approachable; Angular is opinionated and enterprise-grade with a steeper learning curve.