Kotlin Multiplatform Broadcast
9.47K subscribers
821 photos
48 videos
1.09K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
Вышла статья со сравнением скорости работы компилятора в Kotlin 2.0 и 1.9.23. Улучшения на тестовых проектах по всем сценариям, особенно в инкрементальной сборке

Также в статье добавили руководство как запустить тест на своем проекте с помощью специального проекта для тестов от JetBrains

#kotlin2 #производительность #k2
В Kotlin 2.0 появился прямой доступ к полю свойства внутри класса, а не только при работе из get-set функций. Теперь стало удобнее делать мутабельные свойства с публичным немутабельным интерфейсом в get. Разбор читайте тут (EN, 2м)

#kotlin2 #k2
Kotlin 2.0 на шаг ближе - вышел второй Release Candidate

#k2 #kotlin2
Статья с инструкцией по переходу на Kotlin 2.0:
👉 K2 компилятор
👉 Gradle
👉 IDE K2 плагин
👉 Плагины компилятора
👉 Compose
👉 Поддержка сторонних библиотека

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

#kotlin2 #k2
🔥‼️🔥 Вышел 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
Улучшения 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 опция kotlin.experimental.tryNext для использования следующей dev версией Kotlin за текущей
👉 Вывод отчета сборки в JSON формате
👉 kapt наследует конфигурацию из родителського Gradle проекта

#gradle #kotlin2
Вышло видео (EN,47м) про будущие фичи Kotlin 2.X

#kotlinconf #kotlin2 #kotlin
Проверка на тип в when без необходимости написания is во всех ветках. Будет в Kotlin 2.2 в качестве эксперимента

#kotlinconf24 #kotlin2
Классное улучшение для описания общих параметров нескольких функций. Это все Compose подбил такое вводить для упрощения. Появится экспериментально в Kotlin 2.2

#kotlinconf24 #kotlin2
Исследуют возможность описания специальных типов ошибок (аля union типы)

#kotlinconf24 #kotlin2
Что-то будут делать с иммутабльностью, но жалко что ничего не рассказали (

#kotlinconf24 #kotlin2
Решили боль с объявлением внутреннего мутабельного свойства и внешнего немутабельного. Будут допиливать и улучшать

#kotlinconf24 #kotlin2
Тем кому нужны Kotlin Coroutines с Kotlin 2.0 - забирате версию 1.9.0-RC

#coroutines #kotlin2
Вышел MockK 1.13.12 с поддержкой Kotlin 2.0

#kotlin2
Media is too big
VIEW IN TELEGRAM
Выпуск официального подкаста от команды Kotlin про будущее Kotlin и его разработку. Гости - лид проекта и главный дизайнер языка

Видео на 📺 YouTube

P.S. Да, Хади покидает JetBrains

#kotlin2
Please open Telegram to view this post
VIEW IN TELEGRAM