Vue.js
Vue.js is a progressive JavaScript framework for building user interfaces, created by Evan You in 2014. Vue is designed to be incrementally adoptable: it can drop into a single page or anchor an entire application, and it borrows ideas from React (component model, virtual DOM) and Angular (templates, directives) while keeping the API approachable.
Core ideas
- Single-file components (.vue). Template, script, and style co-located in one file.
- Reactivity. Refs and reactive proxies (Vue 3) automatically re-render the UI when state changes.
- Composition API. Function-based composition (similar in spirit to React hooks); the recommended approach for new Vue 3 code.
- Options API. Class-like alternative; still supported for legacy familiarity.
- Template syntax. Directives like
v-if,v-for,v-model; built-in two-way binding for forms.
Common ecosystem
- Framework: Nuxt (full-stack, SSR / SSG)
- State management: Pinia (the modern Vuex)
- Routing: Vue Router
- Build tool: Vite (created by Evan You, default for Vue projects)
- UI libraries: Vuetify, Element Plus, Naive UI, PrimeVue, Quasar