Что такое Vue.js
Vue.js — это прогрессивный JavaScript-фреймворк для создания пользовательских интерфейсов. «Прогрессивный» означает: можно использовать Vue для маленькой части страницы, постепенно расширяя охват. Не нужно переписывать всё приложение с нуля — Vue встраивается туда, где нужен.
Создан Эваном Ю в 2014 году. Он работал в Google на Angular и хотел взять лучшее, убрав лишнее. Vue стал одним из самых популярных фронтенд-фреймворков наряду с React и Angular.
Ключевые концепции Vue
Реактивность — главная суперсила Vue. Когда данные изменяются, интерфейс обновляется автоматически. Vue отслеживает зависимости и перерисовывает только те части страницы, которые нужно.
Однофайловые компоненты (SFC): шаблон (HTML), логика (JS) и стили (CSS) в одном .vue файле. Это удобно: весь код компонента в одном месте.
Директивы: специальные атрибуты с префиксом v-. v-if — условный рендеринг, v-for — цикл, v-bind — привязка атрибутов, v-on — обработчики событий.
Options API vs Composition API
Options API (Vue 2 и 3): компонент описывается через объект с секциями data, methods, computed. Интуитивно понятно для новичков.
Composition API (Vue 3): логика организуется функционально, с помощью setup(). Позволяет лучше переиспользовать логику между компонентами, похоже на хуки React.
Экосистема Vue
Vue Router — официальная навигация. Pinia (сменил Vuex) — управление состоянием. Nuxt.js — фреймворк поверх Vue для SSR и статической генерации, аналог Next.js для React.
Vue особенно популярен в Китае и в компаниях, предпочитающих более «дружелюбный» фреймворк с хорошей документацией. Alibaba, Xiaomi, Nintendo использовали Vue в своих проектах.
