Многие из нас ждут выхода Vue 3 и похоже, что он почти здесь (релиз запланирован на второй квартал 2020 года) и уже есть возможность взглянуть или даже поэкспериментировать с бета-версией.
Какие новые функции и изменения представит Vue 3?
Composition API
Одним из самых больших изменений будет то, что API предложит новый основанный на функциях способ написания компонента. Это позволит повторно использовать логику для компонентов.
Нововведение изменит лишь то, как мы будем использовать Vue, но не помешает чему-либо в ваших уже созданных приложениях Vue 2.x. Новый API будет полностью совместим с текущим синтаксисом.
Больше крутых функций в Vue 3:
- Приостановление рендеринга компонента при определённых условиях
- Фрагменты (виртуальные элементы, которые не будут отображаться в DOM-дереве)
- Перезапись виртуального DOM для лучшей производительности и улучшенная поддержка TypeScript
- Глобальное монтирование
- Родные порталы — теперь они называются Teleport (фича будет предоставляться из коробки)
Переход из Vue 2
Как будет осуществляться миграция и что будет с Vue 2? Планируется один финальный релиз версии, куда будут бэкпортирование совместимые функции Vue 3 и добавлено предупреждения об устаревании для критических изменений.
Эта версия будет доступна как LTS в течение 18 месяцев, что означает, что она всё ещё будет получать обновления безопасности и её можно будет спокойно использовать дальше.
Команда Vue 3 также выпустит руководства по миграции и сборку совместимости. Кроме этого, будет доступен инструмент для миграции из командной строки, который поможет вам выполнить автоматический переход с подсказками в тех местах, где обновление возможно выполнить только вручную.
Можно ли использовать Vue 2 для нового проекта или подождать пока выйдет Vue 3?
Если вы решили использовать Vue для нового проекта, не теряйте время и начинайте с Vue 2. Тем не менее следите за изменениями и не используйте удалённые функции, а также сторонние библиотеки, которые скорее всего не будут обновлены в ближайшее время.
Если время терпит, тогда лучше дождаться конца второго квартала и начать разработку с Vue 3.
Могу ли я начать учить Vue сейчас или лучше дождаться Vue 3?
Если вы начинаете учить Vue с нуля, тогда вам вполне подойдёт Vue 2, так как большинство ключевых понятий остаются прежними, и ваши знания будут актуальными, даже когда выйдет v3.
Многие из изменений v3 являются внутренними, подобно тому, как они переписывают виртуальную реализацию DOM или пишут кодовую базу на TypeScript. Это сделает Vue быстрее, но вам не придётся использовать TypeScript, если вы этого не хотите.
Выводы
Пока Vue 3 выглядит как действительно хорошее решение. Более гибкое, быстрое и с лучшей структурой кода благодаря таким функциям, как Composition API и кодовой базе, написанной на TypeScript.
Нам остаётся только ознакомиться со всеми новыми функциями и дождаться официального релиза Vue 3!