Dev новости: Deno Decorates, предварительный рендеринг в Nuxt, Astro
Прогресс у Deno с JS && TS. релизы Astro и другие новости
Прогресс у Deno с JS && TS. релизы Astro и другие новости
На этой неделе команда Deno выпустила Deno v. 1.40 и назвала ее «значительным шагом вперед в эволюции» среды исполнения JavaScript и TypeScript.
«Новая версия содержит множество функций, улучшающих работу с Deno, в ней появился мощный Temporal API для расширенных операций с датой и временем, а также новейший синтаксис декораторов для более выразительного кода, – пишет команда. – наряду с этими улучшениями мы реализовали ряд обесцениваний, стабилизаций и удалений, направленных на оптимизацию возможностей Deno и подготовку к Deno 2».
Временное предложение предусматривает новый API, направленный на стандартизацию работы с датой и временем в JavaScript.Deno теперь поддерживает декораторы, которые предусмотрены в предложении TC39. Они также внедряются во всех браузерах, пишет команда.
Декораторы позволяют разработчикам добавлять функциональность без изменения существующего кода, используя, по сути, обертку, которая изменяет функцию того, что она «украшает». Декораторы можно использовать для добавления функциональности, изменения поведения, проверки данных или поддержки ленивой загрузки. Babel и TypeScript уже поддерживают декораторы.
«Декораторы — это предложение по расширению классов JavaScript, которое получило широкое распространение среди разработчиков в средах транспиляторов, а также широкий интерес к стандартизации, – пояснили они. – TC39 итерирует предложения по декораторам уже более пяти лет. Этот документ описывает новое предложение по декораторам, основанное на элементах всех предыдущих предложений».
Выпустили 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 был выпущен на этой неделе, и он «полон возможностей и исправлений», — написал Дэниел Роу, возглавляющий основную команду Nuxt.
Одним из обновлений, которое должно повысить производительность сайта, является экспериментальное использование asyncData при предварительном рендеринге, при котором Nuxt автоматически пересобирает данные для разработчиков при предварительном рендеринге сайта.
«Ваши вызовы useAsyncData и useFetch будут дедуплицированы и кэшированы между рендерами вашего сайта. Особенно важно убедиться в том, что любой уникальный ключ ваших данных всегда может быть разрешен в те же самые данные. Например, если вы используете useAsyncData для получения данных, относящихся к определенной странице, вы должны предоставить ключ, который однозначно соответствует этим данным. (UseFetch сделает это автоматически)».
Это обновление также включает в себя безопасное для SSR создание доступных уникальных идентификаторов, что позволяет создавать более доступные интерфейсы в приложении.
Также в это обновление включены:
В обзоре обновления OpenJDK, JDK 22, Azul Code Inventory, Spring Shell 3.1.4, 3.0.8 и 2.1.13, Testcontainers 1.19.1.
Задача игры — устранить все баги, особенно присматриваться к любым странным и необычным явлениям во внешнем облике города.
Расширение C# Dev Kit включает в себя основные сервисы языка C#, помощь IntelliCode, возможности тестирования, отладки и управления проектами. Поддержка .NET MAUI и Unity сейчас находится в стадии предварительного просмотра.
С выпуском версии Matrix 2.0 протокол Matrix достиг важного этапа в развитии. Этот открытый стандарт децентрализованной связи, который поддерживают такие приложения, как Element и FluffyChat, теперь предлагает заметно улучшенные возможности, что делает его более конкурентоспособным и удобным для ежедневного использования.