Вышел Kotlin 2.1: обзор главных нововведений и улучшений языка

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Вышел Kotlin 2.1: что изменилось в языке программирования

JetBrains официально анонсировала выход стабильной версии Kotlin 2.1. Это первый крупный релиз после версии 2.0, вышедшей в мае 2024 года. Новая версия приносит множество улучшений, которые затронули как базовый синтаксис, так и инфраструктуру для мультиплатформенной разработки. Разберём самые значимые нововведения.

Ключевые изменения в языке

Разработчики сосредоточились на повышении стабильности и расширении возможностей языка. Главные новинки:

  • Стабильный режим non-local break и continue. Ранее экспериментальная функция для встроенных лямбд стала окончательной. Теперь можно прерывать внешние циклы изнутри лямбда-выражений (например, в forEach) без дополнительных обёрток. Это упрощает написание чистого кода.
  • Subtypes of discriminated unions (экспериментально). Введена поддержка подтипов для sealed-классов и интерфейсов. Теперь можно объявлять sealed-интерфейсы и наследовать их в классах, сохраняя строгую проверку when-выражений.
  • Улучшенная поддержка Java 21. Компилятор Kotlin теперь корректно обрабатывает новые конструкции Java, такие как record patterns и switch с паттернами. Это особенно важно для проектов, мигрирующих на свежие версии Java.

Обновления в Kotlin Multiplatform

Kotlin 2.1 продолжает развитие мультиплатформенной экосистемы:

  • Стабильный Kotlin/Wasm. Поддержка WebAssembly стала окончательной. Теперь можно компилировать код в Wasm, запускать его в браузере или на сервере через Wasmtime.
  • Ускорение компиляции для Kotlin/Native. Оптимизирована работа с LLVM. По оценкам JetBrains, время сборки для нативных проектов сократилось на 15–20%.
  • Новый артефакт для Android. Добавлена поддержка Android Gradle Plugin 8.7 и улучшена совместимость с библиотеками Jetpack Compose.

Изменения в стандартной библиотеке

В stdlib появилось несколько полезных функций:

  • Функция buildMap и buildSet. Теперь можно создавать иммутабельные коллекции с помощью билдера, аналогично buildList. Это делает код более безопасным и выразительным.
  • Новые методы для работы с датами. Добавлены LocalDate.daysUntil и LocalDate.monthsUntil. Они упрощают вычисление разницы между датами без сторонних библиотек.
  • Улучшенная работа с nullable-типами. Функция ?.let теперь корректно обрабатывает вложенные вызовы без создания временных переменных.

Производительность и улучшения для разработчиков

JetBrains уделила внимание и инструментам разработчика:

  • Умное автодополнение в IntelliJ IDEA. Плагин Kotlin обновлён до версии 2.1. Теперь IDE предлагает более релевантные варианты автодополнения на основе контекста.
  • Оптимизация работы K2-компилятора. Ускорен анализ кода и вывод ошибок. Особенно заметно на больших проектах с тысячами файлов.
  • Новый инспектор производительности. Встроенный анализатор подсказывает,

Рекомендуем библотеки