Чтобы попробовать 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
👍18🔥4
Будет очень интересно узнать ваши впечатления от обновления на Kotlin 2.0 в особенности скорость работы IDE и компиляции кода. Делитесь в комментариях
👍3
Что нового в 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
🔥24🏆4❤3
Улучшения 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
🔥12
Экспериментальный Kotlin плагин "Power-assert compiler plugin" для улучшения опыта отладки, предоставляя больше информации при ошибках с данными из контекста. Предназначено для написания тестов, что позволит вам понять причину провала теста без использования сложны assert библиотек
#тестирование @kotlin_broadcast
#тестирование @kotlin_broadcast
🔥37
Kotlin Multiplatform Broadcast
Экспериментальный Kotlin плагин "Power-assert compiler plugin" для улучшения опыта отладки, предоставляя больше информации при ошибках с данными из контекста. Предназначено для написания тестов, что позволит вам понять причину провала теста без использования…
Пример лога для провалившегося теста
🔥102
Хочу взять 5 Kotlin проектов на тесты и провести бенчмарк между версия 1.9.X и Kotlin 2.0. Предлагайте Open Source который стоит рассмотреть
🔥35
Только дошел посмотреть Keynote Kotlin Conf... А вы посмотрели?
Спустя годы ожиданий и страданий работы с KMP кодом в Swift через Obj-С начались активные подвижки. Obj-С мало кому нужен, а вот Swift Interop - топ тема!
#kotlinconf24 #kotlin @swift
#kotlinconf24 #kotlin @swift
🔥31
Amper - это билд система от JetBrains для настройки KMP проектов и не только
#kotlinconf24 #amper #kmp
#kotlinconf24 #amper #kmp
❤21🤯3
Самое интересное как мы уходили от XML и подобных ему для конфигурации проекта в код (Gradle + Groovy/Kotlin DSL), а сейчас нас возвращают в YAML конфиги проектов
#amper
#amper
💯64🤯8
Официально ‼️ Пиши проекты на Kotlin полностью все слои на разные платформы. А начиналось все с переиспользования бизнес логики
#kotlinconf #kmp
#kotlinconf #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍77🔥13🎉9❤2
Guard - фича которая позволит писать сложные проверки в ветках when при задание значения. Нечто подобное уже есть в Swift. Языки всё ближе
#kotlinconf #kotlin21 #guard #kotlin
#kotlinconf #kotlin21 #guard #kotlin
🔥74
Решение экранирования
#kotlinconf24 #kotlin
$
в многострочных литералах. Тут хочется сразу вспомнить фразу: "Сомнительно,... но ОКЭЙ"#kotlinconf24 #kotlin
💯19🤯7
Context Recevier заменяют на Context Parametr. Суть таже, а синтаксис другой
#kotlinconf #kotlin22 #kotlin
#kotlinconf #kotlin22 #kotlin
🤯16👍7