Другие обновления Jetpack Compose
В июльском выпуске Android Jetpack Compose появились некоторые улучшения, он стал быстрее, но то ли это, что мы хотим?
TypeScript 5.5, последняя версия сильно типизированного варианта JavaScript от Microsoft, была официально выпущена. В обновлении реализованы различные улучшения - от оптимизации производительности и размера до проверки регулярных выражений, а также добавлена поддержка новых методов Set в ECMAScript.
TypeScript 5.5 был выпущен 20 июня, доступ к нему можно получить через Nuget или следующую команду: npm -D typescript. Бета-версия была представлена 25 апреля, а релиз-кандидат появился 6 июня.
Начиная с релиз-кандидата (RC), Microsoft временно отменила изменение, которое обращалось к package.json для определения формата модуля данного файла. По отзывам, это изменение нарушало рабочие процессы и вызывало неожиданную нагрузку при просмотре файлов в крупных проектах. В TypeScript 5.6 Microsoft надеется вернуть более сбалансированную версию этой функции, а также оптимизировать поиск несуществующих файлов.
В бета-версии TypeScript 5.5 добавлена поддержка новых методов Set, предложенных для JavaScript. Некоторые из этих методов, такие как union, intersection и difference, берут другой Set и возвращают в качестве результата новый Set. Другие методы, такие как isSubsetOf, берут другой Set и возвращают логическое значение.
Также в релиз-кандидате проверка регулярных выражений в TypeScript стала немного более мягкой, но при этом по-прежнему ошибается при сомнительных эскейпах, которые разрешены только в соответствии с приложением B к ECMAScript. TypeScript 5.5 RC также содержит больше оптимизаций производительности, включая пропуск проверки в transpileModule и оптимизацию фильтрации контекстных типов, что может привести к ускорению сборки и итераций.
TypeScript 5.5 содержит множество других улучшений, которые ранее были доступны в бета-версии. Для повышения производительности и увеличения размера была проведена работа по мономорфизации языкового сервиса и публичного API. По словам авторов TypeScript, благодаря мономорфизму работа редактора и инструментов сборки, использующих API TypeScript, станет быстрее. Та же работа была проведена ранее для объектов Node и Symbol в TypeScript 5.0, чтобы обеспечить им согласованный набор свойств и последовательный порядок инициализации.
TypeScript 5.5 также отличается значительным уменьшением общего размера пакета. Площадь дискового пространства уменьшилась с 30,2 МБ до 20,4 МБ, а размер пакета - с 5,5 МБ до 3,7 МБ. В рамках работы над созданием изолированных объявлений (isolatedDeclarations) Microsoft улучшила частоту прямого копирования исходного кода TypeScript при создании файлов объявлений.
В TypeScript 5.5 появилась базовая проверка синтаксиса регулярных выражений. До сих пор TypeScript обычно пропускал большинство регулярных выражений в коде, потому что регулярные выражения технически имеют расширяемую грамматику, и TypeScript никогда не предпринимал усилий по компиляции регулярных выражений в более ранние версии JavaScript. Это означало, что часто встречающиеся проблемы оставались необнаруженными в регулярных выражениях.
В TypeScript 5.5 TypeScript теперь будет определять, что функция возвращает предикат типа при определенных условиях. А благодаря сужению потока управления для постоянных индексированных доступов TypeScript теперь может сужать выражения для obj[key], когда и obj, и key являются фактически постоянными.
TypeScript 5.5 упрощает использование API модулей ECMAScript. Ранее, если разработчик писал модуль ECMAScript в Node.js, именованные импорты не были доступны из пакета typescript. Это было исправлено. TypeScript также теперь поддерживает новый тег комментария @import, который имеет тот же синтаксис, что и импорт ECMAScript.
В TypeScript 5.5 также добавлен API transpileDeclaration, который предназначен для генерации одного файла декларации на основе исходного текста. API аналогичен transpileModule для компиляции одного файла кода TypeScript.
TypeScript 5.5 следует за TypeScript 5.4, который стал общедоступным в марте и сохранил сужение в закрытиях функций.
В июльском выпуске Android Jetpack Compose появились некоторые улучшения, он стал быстрее, но то ли это, что мы хотим?
Если вы хотите писать на Python код, использующий самые новые и мощные возможности языка, вот четыре области, которые стоит изучить.
Mirascope - это библиотека Python, которая позволяет вам получить доступ к ряду больших языковых моделей, но более простым и питоническим способом.
Продолжаем добавлять языки программирования для Вас.
Впереди много интересного!
Только свежие новости программирования и технологий каждый день.
Комментарии