Dev новости: Deno Decorates, предварительный рендеринг в Nuxt, Astro

Прогресс у Deno с JS && TS. релизы Astro и другие новости

Deno Decorates

На этой неделе команда Deno выпустила Deno v. 1.40 и назвала ее «значительным шагом вперед в эволюции» среды исполнения JavaScript и TypeScript.

«Новая версия содержит множество функций, улучшающих работу с Deno, в ней появился мощный Temporal API для расширенных операций с датой и временем, а также новейший синтаксис декораторов для более выразительного кода, – пишет команда. – наряду с этими улучшениями мы реализовали ряд обесцениваний, стабилизаций и удалений, направленных на оптимизацию возможностей Deno и подготовку к Deno 2».

Временное предложение предусматривает новый API, направленный на стандартизацию работы с датой и временем в JavaScript.Deno теперь поддерживает декораторы, которые предусмотрены в предложении TC39. Они также внедряются во всех браузерах, пишет команда.

Декораторы позволяют разработчикам добавлять функциональность без изменения существующего кода, используя, по сути, обертку, которая изменяет функцию того, что она «украшает». Декораторы можно использовать для добавления функциональности, изменения поведения, проверки данных или поддержки ленивой загрузки. Babel и TypeScript уже поддерживают декораторы.

«Декораторы — это предложение по расширению классов JavaScript, которое получило широкое распространение среди разработчиков в средах транспиляторов, а также широкий интерес к стандартизации, – пояснили они. – TC39 итерирует предложения по декораторам уже более пяти лет. Этот документ описывает новое предложение по декораторам, основанное на элементах всех предыдущих предложений».

Релизы Astro 4.2 и 4.3

Выпустили JavaScript-фреймворк Astro 4.3, в котором появилось больше контроля над выводом HTML-файлов. Для этого добавили новую опцию build.format под названием preserve. Новый формат сохраняет структуру файловой системы и обеспечивает ее зеркальное отображение в производстве.

«Эта функция обеспечивает лучшую совместимость с некоторыми веб-серверами, [которые] имеют строгие требования к структуре файлов», – отметила команда.

Обновление также добавило новый экспорт типа ComponentProps, аналогичный React.ComponentProps или Svelte’s ComponentProps.

«Этот тип экспорта позволяет вам ссылаться на реквизит, принимаемый другим компонентом, даже если этот компонент не экспортирует этот тип реквизита напрямую», – написала команда.

Кроме того, Astro 4.2, выпущенная в начале этого месяца, может похвастаться экспериментальными функциями, с которыми пользователи могут поиграть. Это первый релиз, в котором все функции, кроме одной, были созданы сообществом.

В Astro 4.2 добавили поддержку экспериментальной функции: Предварительный рендеринг страниц с использованием Chromium Speculation Rules API, который позволяет разработчикам предварительно рендерить страницы на клиенте и запускать клиентский JavaScript на страницах, которые пользователь, скорее всего, посетит следующими, для более быстрого просмотра.

Еще одна экспериментальная функция, которую добавили разработчики, – это измененный приоритет маршрутизации для инжектированных маршрутов. Интересно, что она появилась из-за одной проблемы. Маршруты, инжектированные с помощью API injectRoute(), имели приоритет, поэтому они подбирались раньше других маршрутов.

«С включенным флагом маршруты, инжектированные с помощью API injectRoute(), а также редиректы теперь будут следовать тому же порядку приоритетов, что и маршруты из файловой системы. Это должно обеспечить более стабильные, состоящие из правил упорядочивания приоритетов для всех маршрутов вашего проекта», – говорится в блоге.

Также были исправлены ошибки, подробно описанные в примечаниях к выпуску.

Nuxt 3.10 добавляет aSyncData при предварительном рендеринге

Nuxt 3.10 был выпущен на этой неделе, и он «полон возможностей и исправлений», — написал Дэниел Роу, возглавляющий основную команду Nuxt.

Одним из обновлений, которое должно повысить производительность сайта, является экспериментальное использование asyncData при предварительном рендеринге, при котором Nuxt автоматически пересобирает данные для разработчиков при предварительном рендеринге сайта.

«Ваши вызовы useAsyncData и useFetch будут дедуплицированы и кэшированы между рендерами вашего сайта. Особенно важно убедиться в том, что любой уникальный ключ ваших данных всегда может быть разрешен в те же самые данные. Например, если вы используете useAsyncData для получения данных, относящихся к определенной странице, вы должны предоставить ключ, который однозначно соответствует этим данным. (UseFetch сделает это автоматически)».

Это обновление также включает в себя безопасное для SSR создание доступных уникальных идентификаторов, что позволяет создавать более доступные интерфейсы в приложении.

Также в это обновление включены:

  • Расширенные опции app/router для пользовательского scrollBehavior или добавленные runtime дополнения маршрутов;
  • Поддержка Node.js на стороне клиента, которая «должна облегчить жизнь пользователям, работающим с библиотеками без надлежащей поддержки браузера», — отметил Роу. При этом он добавил, что из-за риска неоправданного увеличения пакета Nuxt «настоятельно рекомендует пользователям выбирать другие альтернативы, если это вообще возможно».
  • Улучшенная реактивность куки;
  • Лучшее обнаружение антипаттернов, что означает лучшую способность 
  • Более эффективное обнаружение антишаблонов, что позволяет выявлять потенциальные ошибки и проблемы с производительностью;
  • Метаданные о маршрутах во время сборки; и
  • Разрешение модулей Bundler.
  • В блоге описаны основные моменты, но полные заметки о выпуске находятся на GitHub.
Читайте также
Технологические прогнозы на 2024 год: ИИ, Mojo и блокчейн
Технологические прогнозы на 2024 год: ИИ, Mojo и блокчейн
Технологические прогнозы на 2024 год: ИИ, Mojo и блокчейн

Блокчейн, искусственный интеллект, антиконкурентная деятельность и новый язык программирования Mojo наверняка займут первые строчки в медиа в 2024 году. Предлагаем пять прогнозов о технологиях, которые, по нашему мнению, произойдут в предстоящем году:

Dev новости: Astro управление через API, тонкая настройка gtp4
Dev новости: Astro управление через API, тонкая настройка gtp4
Dev новости: Astro управление через API, тонкая настройка gtp4

Мир технологий продолжает развиваться стремительными темпами, и последние новости показывают, что инструменты для разработки на базе ИИ становятся все более востребованными, а фреймворк Astro готовится к поддержке сайтов с огромным количеством страниц. Поговорим о последних достижениях, касающихся использования ИИ и развития популярных фреймворков.

Browserling добавила 20 новых инструментов для работы с JPG
Browserling добавила 20 новых инструментов для работы с JPG
Browserling добавила 20 новых инструментов для работы с JPG

Среди новых инструментов: наложение водяного знака в формате jpg, удаление фона, создание JPG для социальных сетей и другие.

Бесплатный инструмент поможет веб-разработчикам разобраться со «сложным» SEO-обновлением Google
Бесплатный инструмент поможет веб-разработчикам разобраться со «сложным» SEO-обновлением Google
Бесплатный инструмент поможет веб-разработчикам разобраться со «сложным» SEO-обновлением Google

Комплексное обновление соответствует более сложному подходу к оценке сайтов для ранжирования.