Vue is a JavaScript framework for building user interfaces, designed around an approachable learning curve and a template syntax that closely resembles standard HTML with added directives for binding data and handling events. Its reactivity system automatically tracks which parts of a component's state are used in the template and updates only the affected parts of the DOM when that state changes, without requiring developers to manually manage subscriptions or write explicit update logic. Vue supports both an options-based API, historically its default, and a newer composition API, added in Vue 3, which offers a style closer to React hooks for organizing component logic.
Vue occupies a middle ground between React's flexibility and Angular's more opinionated, batteries-included structure: it ships official libraries for routing and state management, Vue Router and Pinia, that integrate tightly with the framework, while still leaving room for teams to bring their own tooling where they prefer. Single-file components, which combine a component's template, script, and styles in one vue file, are one of Vue's signature features and a big part of why many developers find it easy to read and organize.
Vue has a strong following particularly in projects and teams that want React-like component architecture with a gentler learning curve. Repos on this page built with Vue include Supabase's dashboard, Storybook's Vue integration for documenting Vue components, Nuxt, the full-stack framework built on top of Vue, Gitea's web interface, and n8n's workflow editor, which uses Vue for its visual node-based automation canvas.