Kotlin Broadcast
8.91K subscribers
694 photos
39 videos
922 links
Новости и фичи Kotlin, а также Kotlin Multiplatform

Обсуждение @android_broadcast_talks
YouTubе канал: https://youtube.com/androidBroadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
Статья с инструкцией по переходу на Kotlin 2.0:
👉 K2 компилятор
👉 Gradle
👉 IDE K2 плагин
👉 Плагины компилятора
👉 Compose
👉 Поддержка сторонних библиотека

Вывод: изменения компилятора огромные и инструментов что завязаны на анализ кода надо вплотную заниматься поддержкой нового компилятора

#kotlin2 #k2
Статья (10 мин) с разбором отличий K2 компилятора от версии в Kotlin 1.X и за счет чего получилось достичь ускорения сборки проектов до 2 раз 🤯

#k2 #подкапотом @kotlin_broadcast
🔥‼️🔥 Вышел Kotlin 2.0 🔥‼️🔥

#k2 #kotlin2
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
Что нового в 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
Вот как Swfit Interop будет работать под капотом

#kotlinconf #swift #k2
K2 компилятор теперь может лучше понимать код, что заставит меньше уточнять его

#kotlinconf24 #k2
И вот такой кейс теперь может понять

#kotlinconf24 #k2
Система smart cast в Kotlin - супер фича, которая убирает лишний код, а K2 компилятор сделал её лучше, так что K1 не мог

#kotlinconf24 #k2
Улучшения в функциях с inline лямбдой

#kotlinconf24 #k2
Smart Cast в логических выражениях теперь тоже стал лучше

#kotlinconf24 #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
На сайте KotlinConf'24 стали доступны записи докладов. На YouTube канале Kotlin их пока еще не открыли, но они доступны с сайта конференции по ссылкам

#kotlinconf24 #kotlin #compose #kmp #k2 #android #jetbrains #google #kotlinx
Вышел Kotlin 2.0.10. В нем исправлено много багов касательно K2 компилятора. Подробнее разбор будет позже в @kotlin_broadcast

Знаю что многие ждут как раз версии 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
Обновили дорожную карту разработки 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
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
Forwarded from Android Broadcast
Решил попробовать K2 режим работы Kotlin плагина в IDEA. Compose Multiplatform и KMP плагины пока не имеют поддержки K2 😞 Всё остальное в Android Studio работает

#idea #androidstudio #k2
Вышел Kotlin 2.0.21-RC с поддержкой XCode 16 и исправление багов в K2

#k2 #xcode
Вышел Kotlin 2.0.21
👉 Поддержка XCode 16
🛠 Улучшения в K2 компиляторе
🛠 Исправления багов

#kotlin #k2 #xcode