Вышла статья со сравнением скорости работы компилятора в Kotlin 2.0 и 1.9.23. Улучшения на тестовых проектах по всем сценариям, особенно в инкрементальной сборке
Также в статье добавили руководство как запустить тест на своем проекте с помощью специального проекта для тестов от JetBrains
#kotlin2 #производительность #k2
Также в статье добавили руководство как запустить тест на своем проекте с помощью специального проекта для тестов от JetBrains
#kotlin2 #производительность #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
Чтобы попробовать Kotlin 2.0 надо будет переезжать на библиотеки с его поддержкой:
👉 Google KSP
👉 KotlinX Coroutines с поддержкой 2.0 я не нашел, но может и не нужна спец версия
👉 KotlinX Serialiazation 1.7.0-RC с поддержкой Kotlin 2.0
👉 Отдельный Gradle плагин для Compose (Jetpack и Multiplatform) с поддержкой Kotlin 2.0
👉 KAPT поддерживает Kotlin 2.0 в экспериментальном режиме
👉 Начиная с IntelliJ IDEA 2023.3 and Android Studio Iguana (2023.2.1), есть поддержка Kotlin 2.0
👉 SQLDelight работает
👉 SKIE от Touchlab тоже имеет поддержку Kotlin 2.0
Полное руководство по миграции на компилятор K2 и последствия перехода описала JetBrains в документации
Полный список всех плагинов компилятора и поддержку ими K2 смотрите тут
#kotlin2 #k2
👉 Google KSP
👉 KotlinX Coroutines с поддержкой 2.0 я не нашел, но может и не нужна спец версия
👉 KotlinX Serialiazation 1.7.0-RC с поддержкой Kotlin 2.0
👉 Отдельный Gradle плагин для Compose (Jetpack и Multiplatform) с поддержкой Kotlin 2.0
👉 KAPT поддерживает Kotlin 2.0 в экспериментальном режиме
👉 Начиная с IntelliJ IDEA 2023.3 and Android Studio Iguana (2023.2.1), есть поддержка Kotlin 2.0
👉 SQLDelight работает
👉 SKIE от Touchlab тоже имеет поддержку Kotlin 2.0
Полное руководство по миграции на компилятор K2 и последствия перехода описала JetBrains в документации
Полный список всех плагинов компилятора и поддержку ими K2 смотрите тут
#kotlin2 #k2
Что нового в Koltin 2.0 (полный список изменений тут)
👉 K2 компилятор: быстрее и единый под все таргеты
👉 Smart Cast теперь понимает больше сценариев
👉 При компиляции Kotlin Multiplatform исходников отдельно этапы проходят для common и platform кода
👉 JVM Генерация лямбд с использованием invokedynamic
👉 Улучшения в Kotlin/Native для iOS
👉 Улучшения скорости работы и интеропа с JS в Kotlin/WASM
👉 Улучшения в Gradle (сделаю отдельный пост)
Стандартная библиотека
👉 Метод enumEntries<T>() стабильный и приходит на замену enumValues<T>()
👉 Стабильный AutoCloseable
👉 Часть API перенесли в Common
Полный список всех плагинов компилятора и поддержку ими K2 смотрите тут
#kotlin2 #k2
👉 K2 компилятор: быстрее и единый под все таргеты
👉 Smart Cast теперь понимает больше сценариев
👉 При компиляции Kotlin Multiplatform исходников отдельно этапы проходят для common и platform кода
👉 JVM Генерация лямбд с использованием invokedynamic
👉 Улучшения в Kotlin/Native для iOS
👉 Улучшения скорости работы и интеропа с JS в Kotlin/WASM
👉 Улучшения в Gradle (сделаю отдельный пост)
Стандартная библиотека
👉 Метод enumEntries<T>() стабильный и приходит на замену enumValues<T>()
👉 Стабильный AutoCloseable
👉 Часть API перенесли в Common
Полный список всех плагинов компилятора и поддержку ими K2 смотрите тут
#kotlin2 #k2
Улучшения Gradle в Kotlin 2.0:
👉 Новое Gradle DSL для конфигурации опций компиляции для всех тасков мультиплатформенных проектов
👉 Compose Runtime теперь часть Kotlin репозитория и теперь всегда будет с актуальными версиями. Из-за этого появился отдельный Gradle Compose плагин для Jetpack и Multiplatform Compose
👉 Теперь в атрибутах при публикации будет указываться для какого JVМ варианта сделана библиотека: Android, Standrat JVM или NO JVM
👉 Улучшена работа с зависимостями в Kotlin/Native
👉 Разграничение какие API можно вызывать в разных уровнях DSL
👉 Kotlin/Native компилятор будет загружать только когда он нужен для сборки, а не только если Kotlin/Native используется в проекте
👉 Минимальная поддерживаемая версия Android Gradle Plugin поднята до 7.1.3
👉 Gradle опция
👉 Вывод отчета сборки в JSON формате
👉 kapt наследует конфигурацию из родителського Gradle проекта
#gradle #kotlin2
👉 Новое Gradle DSL для конфигурации опций компиляции для всех тасков мультиплатформенных проектов
👉 Compose Runtime теперь часть Kotlin репозитория и теперь всегда будет с актуальными версиями. Из-за этого появился отдельный Gradle Compose плагин для Jetpack и Multiplatform Compose
👉 Теперь в атрибутах при публикации будет указываться для какого JVМ варианта сделана библиотека: Android, Standrat JVM или NO JVM
👉 Улучшена работа с зависимостями в Kotlin/Native
👉 Разграничение какие API можно вызывать в разных уровнях DSL
👉 Kotlin/Native компилятор будет загружать только когда он нужен для сборки, а не только если Kotlin/Native используется в проекте
👉 Минимальная поддерживаемая версия Android Gradle Plugin поднята до 7.1.3
👉 Gradle опция
kotlin.experimental.tryNext
для использования следующей dev версией Kotlin за текущей👉 Вывод отчета сборки в JSON формате
👉 kapt наследует конфигурацию из родителського Gradle проекта
#gradle #kotlin2
Проверка на тип в when без необходимости написания is во всех ветках. Будет в Kotlin 2.2 в качестве эксперимента
#kotlinconf24 #kotlin2
#kotlinconf24 #kotlin2
Классное улучшение для описания общих параметров нескольких функций. Это все Compose подбил такое вводить для упрощения. Появится экспериментально в Kotlin 2.2
#kotlinconf24 #kotlin2
#kotlinconf24 #kotlin2
Решили боль с объявлением внутреннего мутабельного свойства и внешнего немутабельного. Будут допиливать и улучшать
#kotlinconf24 #kotlin2
#kotlinconf24 #kotlin2
Please open Telegram to view this post
VIEW IN TELEGRAM