← Ко всем open source проектам

Vue 2

vuejs/vue

Vue 2 — предыдущая major-линия Vue.js: прогрессивного JavaScript-фреймворка для веб-интерфейсов с шаблонами, реактивностью и single-file components.

Форки 33,862
Автор vuejs
Язык TypeScript
Лицензия MIT
Обновлено 2026-06-07

Что такое Vue 2

Vue 2 — предыдущая major-линия Vue.js, прогрессивного JavaScript-фреймворка для веб-интерфейсов. Репозиторий vuejs/vue отслеживает именно Vue 2; текущая линия Vue 3 живёт в vuejs/core. Поэтому эту страницу стоит читать как разбор зрелого и исторически очень популярного Vue 2, а для новых проектов отдельно проверять Vue 3.

Vue появился как более мягкий способ строить интерактивный UI: можно начать с одного виджета на серверной странице, а потом дорасти до полноценного приложения с компонентами, routing, state management и build tooling. Vue 2 стал для многих команд точкой входа, потому что не требовал сразу переписывать весь frontend и хорошо дружил с обычным HTML-мышлением.

На уровне модели Vue 2 соединяет template syntax, реактивные данные и компоненты. Разработчик описывает, какие данные есть у компонента и как они отображаются; Vue связывает изменения состояния с DOM без ручной работы через query selectors и imperative updates.

Single-file component во Vue

SFC держит шаблон, поведение и стили рядом. Это не обязательно для всех случаев, но удобно для компонентного UI среднего размера.

Язык: Vue
<template>
  <button @click="count++">
    Clicked {{ count }} times
  </button>
</template>

<script>
export default {
  data() {
    return { count: 0 };
  }
};
</script>

<style scoped>
button { padding: 0.5rem 0.75rem; }
</style>

Почему Vue 2 стал популярным

Главная причина — низкий порог входа без ощущения игрушечности. Шаблоны похожи на HTML, директивы вроде v-if и v-for быстро читаются, computed properties помогают держать derived state понятным, а компоненты дают нормальную структуру для роста приложения.

Vue 2 также хорошо попал в момент, когда многие команды хотели уйти от jQuery-стиля, но не были готовы к резкому переходу в полностью новый frontend stack. Vue позволял оживить часть страницы, затем добавить build step, затем перейти к single-file components и router, если продукту это действительно нужно.

Реактивные данные и computed

Computed properties полезны, когда значение выводится из состояния и должно пересчитываться автоматически.

Язык: Vue
<template>
  <p>{{ fullName }}</p>
</template>

<script>
export default {
  data() {
    return { first: "Ada", last: "Lovelace" };
  },
  computed: {
    fullName() {
      return `${this.first} ${this.last}`;
    }
  }
};
</script>

Сильные стороны

Vue 2 силён в интерфейсах, где важны читаемость, постепенное внедрение и компонентная структура без тяжёлой церемонии. Он хорошо подходит для admin panels, form-heavy продуктов, контентных сайтов с интерактивными блоками и команд, которым нужна понятная связь между шаблоном и состоянием.

Экосистема тоже была важна: Vue Router, Vuex, CLI/tooling, Nuxt и документация помогали собирать не только отдельные виджеты, но и полноценные приложения. При этом базовая модель оставалась достаточно простой для обучения.

Ограничения и контекст Vue 3

Главное ограничение сегодня — жизненный цикл Vue 2. Vue 2 достиг end of life 31 декабря 2023 года, поэтому новые проекты обычно стоит начинать с Vue 3 и vuejs/core. Vue 2 всё ещё встречается в старых продуктах, статьях, Stack Overflow ответах и пакетах, но это уже legacy-контекст.

Vue также не заменяет архитектурные решения. Он даёт хороший component model и реактивность, но команда всё равно решает routing, data loading, state boundaries, server rendering, формы, accessibility, performance и UI conventions. Для сильно custom render, графики или non-DOM interfaces Vue может быть оболочкой, а не всей архитектурой.