Статья (10 мин) с разбором отличий K2 компилятора от версии в Kotlin 1.X и за счет чего получилось достичь ускорения сборки проектов до 2 раз 🤯
#k2 #подкапотом @kotlin_broadcast
#k2 #подкапотом @kotlin_broadcast
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
Система smart cast в Kotlin - супер фича, которая убирает лишний код, а K2 компилятор сделал её лучше, так что K1 не мог
#kotlinconf24 #k2
#kotlinconf24 #k2
На сайте KotlinConf'24 стали доступны записи докладов. На YouTube канале Kotlin их пока еще не открыли, но они доступны с сайта конференции по ссылкам
#kotlinconf24 #kotlin #compose #kmp #k2 #android #jetbrains #google #kotlinx
#kotlinconf24 #kotlin #compose #kmp #k2 #android #jetbrains #google #kotlinx
Вышел Kotlin 2.0.10. В нем исправлено много багов касательно K2 компилятора. Подробнее разбор будет позже в @kotlin_broadcast
Знаю что многие ждут как раз версии Kotlin X.X.10 чтобы обновляться
#kotlin #k2
Знаю что многие ждут как раз версии Kotlin X.X.10 чтобы обновляться
#kotlin #k2
Хоть Kotlin 2.0 уже и вышел, но вот IDEA еще переезжает на работу полностью на K2 компилятор. В версии IDEA 2024.2 уже доступна Beta версия, где работают самые популярные фичи, а вот с версии 2024.3 случится переход в режим работы на K2 по умолчанию. Сейчас еще пока надо ходить в настройки и включать в настройках "Languages & Frameworks -> Kotlin" включить "Enable K2 Mode" (в Android Studio тоже можно)
Зачем нужно это? K2 приносит очень много преимуществ в стабильности и скорости работе с Kotlin в IDEA.
#kotlin #k2 #idea
Зачем нужно это? K2 приносит очень много преимуществ в стабильности и скорости работе с Kotlin в IDEA.
#kotlin #k2 #idea
Обновили дорожную карту разработки Kotlin
Основные приоритеты:
👩💻 Развитие фичей языка и скорости его работы
👩💻 K2 плагин IntelliJ для ускорения работы с языком в IDE
👩💻 Kotlin to Swift Export (почему-то формулировки interop нету)
👩💻 Упрощение разработки KMP библиотек
👩💻 Упрощения разработки и публикации Kotlin библиотек (формат klib), инструментов и фреймвокров
Что нашел интересного на сайте:
🤖 Поддержка дебага inline функций в Android
👉 Поддержка Gradle project isolation
👉 Поддержка XCode 16
👩💻 Стабилизация kotlinx-io
👩💻 Создание собственных Atomic типов: AtomicIntArray, AtomicLongArray, AtomicArray, AtomicInt, AtomicLong, AtomicReference
👉 Kotlin Ecosystem плагин, который нацелен сделать работу с декларативными возможностями Gradle лучше
#kotlin #k2
Основные приоритеты:
Что нашел интересного на сайте:
👉 Поддержка Gradle project isolation
👉 Поддержка XCode 16
👉 Kotlin Ecosystem плагин, который нацелен сделать работу с декларативными возможностями Gradle лучше
#kotlin #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышла первая Beta Kotlin 2.1.0
👉 Аннотация @SubclassOptInRequired чтобы при реалиации/наследовании экспериментального интерфейса/класса обязательно ставить аннотацию
👉 Улучшена реализация KAPT в K2. Повысили скорость работы
👉 Обновили LLVM для Kotlin/Native до версии 16.0.0
Экспериментальные фичи
👉 when guard - больше одного уcловия проверок в ветках when
👉 non-locaд break и continue - возможность использовать continue и break из inline функций
👉 Улучшение работы с $ в строках - теперь можно указать сколько $ знаков надо использовать чтобы внутри строки распознавался блок кода или обращение к переменной
#kotlin #k2 #kapt
👉 Аннотация @SubclassOptInRequired чтобы при реалиации/наследовании экспериментального интерфейса/класса обязательно ставить аннотацию
👉 Улучшена реализация KAPT в K2. Повысили скорость работы
👉 Обновили LLVM для Kotlin/Native до версии 16.0.0
Экспериментальные фичи
👉 when guard - больше одного уcловия проверок в ветках when
👉 non-locaд break и continue - возможность использовать continue и break из inline функций
👉 Улучшение работы с $ в строках - теперь можно указать сколько $ знаков надо использовать чтобы внутри строки распознавался блок кода или обращение к переменной
#kotlin #k2 #kapt
Forwarded from Android Broadcast
Решил попробовать K2 режим работы Kotlin плагина в IDEA. Compose Multiplatform и KMP плагины пока не имеют поддержки K2 😞 Всё остальное в Android Studio работает
#idea #androidstudio #k2
#idea #androidstudio #k2
Вышел Kotlin 2.0.21
👉 Поддержка XCode 16
🛠 Улучшения в K2 компиляторе
🛠 Исправления багов
#kotlin #k2 #xcode
👉 Поддержка XCode 16
🛠 Улучшения в K2 компиляторе
🛠 Исправления багов
#kotlin #k2 #xcode