Он еще не вышел, но вам лучше быть готовым, потому что это серьезное обновление!
После стабильного выпуска Vue 3 в конце прошлого года и миграции всех сторонних инструментов и библиотек, мы видим, что все больше и больше библиотек и инструментов с открытым исходным кодом переходят с Vue 2 на Vue 3.
Вот почему самое популярное фреймворк Vue как раз пора совершить скачок. Естественно, я говорю о Nuxt.js, который официально войдет в публичную бета-версию через несколько дней после публикации этого сообщения.
Итак, давайте поговорим о том, чего вы можете ожидать от Nuxt 3, какие улучшения он принесет и стоит ли вам переходить на него!
Текущий статус Nuxt 3
Прежде чем мы углубимся в особенности, давайте кратко рассмотрим текущий статус Nuxt 3.
После многих задержек кажется, что мы наконец-то увидим Nuxt 3 во всей красе 12 октября 2021 года. Насколько верна эта дата, учитывая предыдущие задержки? Что ж, с официальным объявлением на Nuxt Nation и специальной целевой страницей с обратным отсчетом - это, несомненно, более убедительно, чем когда-либо.
Помимо даты, есть и другие подробности, подтверждающие предстоящую дату релиза. Nuxt 3 сейчас находится в частной бета-версии, доступ к которой предоставлен основной команде разработчиков Vue и близким партнерам.
Также стоит упомянуть новый фирменный стиль Nuxt и редизайн сайта. Хотя он сейчас доступен и включает документацию Nuxt 2, это, безусловно, знак грядущей версии v3. Кроме того, сам веб-сайт построен с использованием Docus - Платформа веб-приложений на основе документов, которая будет основана на Nuxt 3 и имеет открытый исходный код.
Новые возможности
Когда дата выпуска Nuxt 3 не назначена - давайте поговорим о хорошем! Конечно, я имею в виду все новые функции и улучшения, которые появятся в Nuxt 3.
Теперь, когда есть одна целевая страница, несколько обсуждений и разговоров - о Nuxt 3 не так много подробностей. Тем не менее, мы постараемся собрать воедино полезную информацию, чтобы у вас было общее представление о том, чего ожидать.
Общие оптимизации
Nuxt 3 содержит множество общих оптимизаций и улучшений. Результат - меньший размер пакета (на 20% легче ядро по сравнению с Nuxt 2) и улучшенная производительность.
Разработчики могут рассчитывать на лучшую производительность в процессе разработки благодаря новому движку сервера Nitro с оптимизированным холодным запуском и динамическим разделением кода.
Кроме того, были обновлены и другие части инструментов - теперь есть Webpack 5, PostCSS 8, ESBuild и Vite. поддержка - чрезвычайно быстрое создание как разработки, так и производства.
Vue 3
Ни для кого не удивительно, что Nuxt 3 будет основан на Vue 3 и обеспечит взаимодействие с последней версией фреймворка Vue. Это означает:
- Новые модульные утилиты для Composition API;
- Улучшенная маршрутизация с помощью Vue Router 4;
- Исправлена загрузка данных и интеграция с приостановкой.
Машинопись
Помимо миграции на Vue 3, Nuxt 3 использует модули ES (ESM) и TypeScript как первоклассные средства для улучшения процесса разработки. Этот шаг соответствует тому, что сделал Vue 3 и куда сейчас движется вся экосистема Vue.
Тесная интеграция с TypeScript обеспечит проверку типов для всей кодовой базы Nuxt 3, а также улучшит автозаполнение и обнаружение ошибок.
Если вам не нравится TypeScript, вы все равно сможете использовать Nuxt без каких-либо проблем.
Лучший опыт разработки
Помимо TypeScript, Vue 3 и улучшений производительности, Nuxt 3 предлагает еще больше улучшений в процессе разработки, в том числе:
- Новый Nuxt CLI для простой сборки проектов и интеграции модулей;
- Nuxt Devtools для более быстрой и удобной отладки прямо в браузере;
- Набор современных служебных модулей под названием Nuxt Kit;
- Автоимпорт для глобальных утилит и составных функций.
Гибридный рендеринг
И последнее, но не менее важное: Nuxt 3 представляет гибридную визуализацию или так называемую «инкрементную статическую генерацию». Эта функция, в широком смысле, позволит вам решить, как долго вы хотите, чтобы ваши страницы отображались статически или динамически. Более подробная информация об этой функции будет опубликована вместе с бета-версией.
Нитро двигатель
Теперь одна из главных особенностей Nuxt 3 - это новый серверный движок - Nitro. Этот движок является причиной многих улучшений производительности и новых функций Nuxt 3.
Маршруты API
Благодаря Nitro вы теперь сможете легко создавать и запускать код серверного API, как это сейчас возможно во многих других полнофункциональных фреймворках. Новый каталог server/api/
будет местом для вашего серверного API, а функции найдут свой дом в server/functions/
.
Новые маршруты API в сочетании с новым механизмом изоморфной выборки и улучшенной бессерверной поддержкой знаменуют собой шаг в правильном направлении.
Оптимизированный вывод
Еще одним преимуществом Nitro является его высоко оптимизированный универсальный вывод в новый каталог .output
. Пакет главного сервера теперь будет меньше 1 МБ, и производительность будет заметно увеличиваться. Например, холодный пуск будет в 75-100 раз быстрее! Это окажется очень полезным для таких сред, как Cloudflare Workers.
Эти улучшения будут достигнуты за счет лучшего отслеживания зависимостей с помощью трассировки файла узла от Vercel (@ vercel / nft). Это гарантирует, что в окончательный пакет будут включены только необходимые зависимости.
Дальнейшее уменьшение размера пакета будет достигнуто с помощью пересмотренного механизма разделения кода.
Кросс-платформенная поддержка
Благодаря быстрому развитию JavaScript за последние несколько лет появилось несколько платформ на базе JS - и Nuxt 3 готов для всех них.
Благодаря ранее упомянутому улучшенному отслеживанию зависимостей и новым легким полифилам в сочетании с автоматическим определением платформы Nuxt 3 будет без проблем работать практически во всех средах JS. Сюда входят Node.js, Deno, Cloudflare Workers и даже Service Workers браузера (хотя сейчас это экспериментальная ).
Nuxt Bridge
Хотя Nuxt 3 выглядит отличным обновлением, есть большая проблема, которую мы не обсуждали - совместимость. Сам Vue 3 с его критическими изменениями уже сделал многие библиотеки и инструменты из экосистемы Vue 2 «устаревшими» и нуждающимися в обновлении. Итак, насколько сложно будет перейти на Nuxt 3? Благодаря Nuxt Bridge - не так уж и сложно!
Nuxt Bridge - это проект, направленный на привнесение функций Nuxt 3 в Nuxt 2. Он призван упростить миграцию в будущем, а также предоставить множество улучшений Nuxt 3 для пользователей Nuxt 2, которые не планируют выполнять обновление немедленно.
Планируемый набор портированных функций включает:
- Нитро двигатель;
- ESM и встроенная поддержка TypeScript;
- Composition API с компонентами Nuxt 3 и автоматическим импортом;
- Nuxt CLI и Devtools;
- Интеграция Vite.
Nuxt Bridge также упрощает обновление всей экосистемы Nuxt. Устаревшие плагины и модули будут продолжать работать, файл конфигурации Nuxt 2 будет совместим с Nuxt 3, а некоторые API Nuxt 3 останутся неизменными, чтобы обеспечить постепенное обновление.
Нижняя линия
В целом, я лично не могу дождаться Nuxt 3. Как и многие другие разработчики Vue, я искал его последние несколько месяцев, и я очень рад, что он наконец станет доступен публике.
Хотя улучшения производительности впечатляют, меня как пользователя TypeScript больше всего интересует переписывание TS, а также интеграция Vue 3 и Vite. Недавно они стали моими популярными технологиями для личных проектов, и было бы здорово, если бы они были интегрированы в единую структуру.
Nuxt 3 станет ступенькой в миграции экосистемы Vue на Vue 3, побуждая других разработчиков обновлять или создавать новые инструменты для обогащения новой экосистемы. Сообщество, несомненно, выиграет от перехода на TypeScript, принятия Composition API и улучшения производительности как пользовательских приложений, так и самой среды разработки благодаря Vite.
Итак, вот оно! Это многие, но, конечно же, не все функции, которые вы должны ожидать от Nuxt 3. В зависимости от того, когда вы его читаете, я надеюсь, что вы так же хотите испытать Nuxt 3, как и я, или, может быть, вы уже играете с Это. В любом случае - получайте удовольствие!