Dev новости: Nuxt 3.9, Vue.js 3.4, анализируем React Server Components

Улучшения в Vue.js, анонс новых фич для версии 3.9 в Nuxt. Bun, Copilot и небольшой анализ react серверных компонентов.

Vue 3.4

Эван Ю создатель Vue.js — выпустил новую минорную версию 3.4 фреймворка Vue.js. Он написал, что «внесены существенные улучшения»: Переписан парсер шаблонов, переделана система реактивности.

Переработанный парсер стал быстрее в 2 раза и пишет, что: «Ранее Vue использовал рекурсию для парсера, множество регулярок, а новый парсер использует токенизатор в htmlparser2 который проходит по строке шаблона один раз.».

Какие еще изменения в версии 3.4:

  • Метод defineModel был экспериментальным, теперь в стабильной версии;
  • Короткая запись для v-bind, если названия совпадают;
  • Добавлены страницы документации с кодами ошибок и ссылками.

Подробнее в блоге Vue.js — https://blog.vuejs.org/posts/vue-3-4

Анонс Nuxt 3.9

Новая версия выпущена на новогодних каникулах. Напомню, что этот Фреймворк с открытым исходным кодом для веба, поддерживает Vite 5 и Rollup 4, и конечно же готов для Vue 3.4, по словам главного разработчика Nuxt Даниэля Роу.

Уже можно «поиграться» с серверными компонентами в экспериментальном обновлении. Теперь можно указать компоненты для «гидротации» внутри серверного компонента с использование директивы «nuxt-client».

Что ещё добавлено:

  • Granular Loading API — новый хук «useLoadingIndicator» для индикации загрузки и контроля.
  • Запуск одиночного эвента callOnce — вызывается один раз.
  • И новые типы ошибок и исправление.
Пример с callOnce
<script setup>
const websiteConfig = useState('config')

await callOnce(async () => {
  console.log('Выполнится 1 раз.')
  websiteConfig.value = await $fetch('https://my-cms.com/api/website-config')
})
</script>

Bun

Выпустил версию 1.0.21 с исправлением ошибок. Bun — это рантайм для Javascript, бандлер и менеджер пакетов. Среди исправлений указано, на утечки памяти, улучшение совместимости с Node.js. Что ещё:

  • Поддержка console.table() — печатает таблицу для отладки, как в хроме.
  • bun:sqlite — предоставляет более подробные ошибки.
  • bun:sqlite использует меньше памяти, и теперь сборщик мусора более эффективно очищает память.

IOS и Copilot

Искусственный интеллект развивается и на мобильных устройствах, и последнее дополнение Microsoft приложение для Copilot на IOS, IPadOS доступны в AppStore.

Приложение дает доступ разработчикам к GPT-4 от OpenAI, без подписки! И интегрируется с DALL-E3, что позволяет создавать изображения.

Минусы React Server Components

RSC было горячей темой для разработчиков React в 2023 и уже составлен список: минусов технологии. Посмотрим что пишут разработчики о слабых местах и опыте:

  • Не понравился размер бандла RSC, 2 года назад Next.js 12 с роутером весит 70 кб после сжатия, а теперь 14 версия с App Router базовый размер составляет 90 кб.
  • А после распаковки это весит 300 кб JS кода для простой страницы «Привет Мир». Кеширование конечно поможет, но браузер проходит весь бандл.

Проблемы с размером, особенно не приятны, когда RSC были созданы для уменьшения его.

Читайте также
Apple Vision Pro: какие приложения не будут работать
Apple Vision Pro: какие приложения не будут работать
Apple Vision Pro: какие приложения не будут работать

Очки дополненной реальности могут внести новый опыт для веб-разработки и приложений. Какие приложения уже работаю с Vision Pro.

Volman IT нашел игру-программу, в которой нужно написать код Rust для управления флотом космических кораблей
Volman IT нашел игру-программу, в которой нужно написать код Rust для управления флотом космических кораблей
Volman IT нашел игру-программу, в которой нужно написать код Rust для управления флотом космических кораблей

Ваш код отвечает за работу двигателей, оружия, радаров и средств связи кораблей — от крошечных ракет до огромных крейсеров.

WildFly 30 готовится к использованию JDK 21
WildFly 30 готовится к использованию JDK 21
WildFly 30 готовится к использованию JDK 21

В релиз также включили новую возможность настройки параметра «max-read-page-bytes» в подсистеме messaging-activemq.

Текстовые приложения на основе Python переходят в веб
Текстовые приложения на основе Python переходят в веб
Текстовые приложения на основе Python переходят в веб

Облачный сервис Textual Cloud Service позволит запускать в веб-браузерах консоли на языке Python, которые созданы с использованием фреймворка Textual.