Вышел Kotlin 2.1: что изменилось в языке программирования от JetBrains
Команда JetBrains официально анонсировала выпуск Kotlin 2.1 — значительного обновления популярного статически типизированного языка программирования. Новый релиз приносит стабилизацию ключевых функций компилятора K2, расширение возможностей мультиплатформенной разработки и ряд улучшений производительности. Разберём главные изменения.
Стабильный компилятор K2: производительность и новые фичи
Главное нововведение версии 2.1 — перевод компилятора K2 в стабильный статус. Ранее доступный в виде превью, теперь K2 является компилятором по умолчанию для всех целей: JVM, Native, JS и мультиплатформы. Это привело к значительному приросту скорости сборки (до 20-30% быстрее в ряде проектов) и улучшению анализа кода.
Ключевые улучшения компилятора:
- Оптимизация инлайн-функций — теперь компилятор лучше обрабатывает встраиваемые функции, уменьшая размер генерируемого байт-кода.
- Улучшенный вывод типов — K2 точнее определяет типы в сложных цепочках вызовов, снижая необходимость в явных аннотациях.
- Поддержка нового синтаксиса — стабилизированы экспериментальные конструкции, включая перечисления с дженериками и улучшенную работу с value-классами.
Экспериментальные функции: что появилось в Kotlin 2.1
Хотя K2 стал стабильным, команда JetBrains продолжила внедрять экспериментальные возможности. В версии 2.1 появились:
- Non-local break и continue — долгожданная фича, позволяющая использовать эти операторы внутри лямбда-выражений, что упрощает работу с циклами в функциональном стиле.
- Named arguments in lambdas — теперь можно передавать именованные аргументы в лямбда-выражения, что повышает читаемость кода при работе с функциями высшего порядка.
- Context receivers — расширение механизма контекстных получателей, упрощающее внедрение зависимостей без явной передачи параметров.
Kotlin Multiplatform: улучшения для кросс-платформенной разработки
Kotlin 2.1 значительно усилил поддержку мультиплатформенных проектов. Основные изменения включают:
- Унифицированная модель памяти для Native — теперь все платформы (JVM, Native, JS) используют единую модель управления памятью, что упрощает перенос кода.
- Улучшенная интеграция с Compose Multiplatform — стабилизированы API для работы с анимациями и жестами в декларативном UI.
- Поддержка Android SDK 35 — обновлённые библиотеки и инструменты совместимости с новейшими версиями Android.
Исправления и производительность
Релиз включает более 200 исправлений ошибок, в том числе связанных с работой корутин, сериализацией и плагинами Gradle. Разработчики отметили снижение потребления памяти в IDE при анализе больших проектов.
Обновление доступно для загрузки через официальный сайт JetBrains и менеджер пакетов SDKMAN. Для перехода на Kotlin 2.1 достаточно обновить версию плагина в IntelliJ IDEA или Android Studio и изменить номер версии в файле build.gradle.kts.
Kotlin 2.1 подтверждает статус одного из самых быстроразвива