Vue.js is a JavaScript framework for building user interfaces, created by Evan You and first released on February 11, 2014. You had worked with AngularJS at Google and set out to keep the parts he found appealing, such as declarative templates and data binding, while producing something lighter and easier to adopt piece by piece. He shared the project on Hacker News at launch, where it reached the front page, and it grew from a personal experiment into one of the most widely used front-end frameworks.
Vue describes itself as “The Progressive Framework,” meaning it “can grow with you and adapt to your needs.” The same core library can enhance a plain HTML page with no build step, power a full single-page application, drive server-side rendering, or generate static sites. This incremental adoption story set Vue apart from frameworks that demanded an all-or-nothing commitment to a particular project structure and toolchain.
The heart of Vue is its reactivity system. As the documentation explains, “Vue automatically tracks JavaScript state changes and efficiently updates the DOM when changes happen.” A developer declares data and a template that references it, and Vue keeps the rendered output synchronized with the underlying state, recomputing and updating only what changed when values are modified.
Vue’s other defining feature is the single-file component, an HTML-like file format with a .vue extension that “encapsulates the component’s logic (JavaScript), template (HTML), and styles (CSS) in a single file.” This co-location made components self-contained and easy to share, and the pattern influenced how other ecosystems thought about packaging UI. The framework’s modern incarnation, Vue 3, is developed in the open at github.com/vuejs/core and anchors a broad ecosystem of routing, state management, and build tooling.