Kotlin Multiplatform Broadcast
9.48K subscribers
833 photos
53 videos
1.12K 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
🔥47👍8🤯6
Вышла стабильная четвертая версия популярной библиотеки MVIKotlin

Что нового:
👉 Поддержка WasmJS
👉 Обновление зависимостей до актуальных версий
👉 Весь deprecated код был удален
👉 Дебажные артефакты больше не публикуются для Android
👉 Добавлена поддержка отправки Action из Executor
👉 Изменения API
👉 Зависимость на Essenty 2.0

#mvi #arkivanov #wasm #архитектура

Подписывайте на @kotlin_broadcast
🔥23👍3
Вышла Essenty 2.0:
👉 Удалена поддержка Parcelable. Теперь используем kotlinx-serialization
👉 Поддержка WasmJS
👉 Улучшения работы с состоянием
👉 Дебажные артефакты больше не публикуются для Android
👉 Улучшения API BackDispatcher
👉 Весь deprecated код был удален

#архитектура #android #wasm #arkivanov

Подписывайте на @kotlin_broadcast
26👍7🔥4
Проходит опрос про опыт использования Kotlin Playground

#опрос
👍6
Объяснение что такое вариативность дженериков в Kotlin с кодом и иллюстрациями

#база #kotlin
👍31
Знаете что такое вариант и ковариант в Kotlin Generic?
Anonymous Poll
57%
Да
33%
Нет
10%
Не участвую в опросе
1
В Kotlin 2.0 появился прямой доступ к полю свойства внутри класса, а не только при работе из get-set функций. Теперь стало удобнее делать мутабельные свойства с публичным немутабельным интерфейсом в get. Разбор читайте тут (EN, 2м)

#kotlin2 #k2
🔥165👍16🤯82
Kotlin 2.0 на шаг ближе - вышел второй Release Candidate

#k2 #kotlin2
👍25🔥202👏1
Forwarded from Compose Broadcast
‼️ Jetpack Compose компилятор переехал в Kotlin репозиторий

Точнее это случится с релизом Kotlin 2.0. Это значит что вместе с релизом новой версии Kotlin сразу будет релизится Compose компилятор и не придется ждать обновлений из Jetpack.

❗️ Теперь версия Compose компилятора теперь будет такая же как у Kotlin. Артефакт androidx.compose.compiler:compiler заменят на org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable

📦 Новый Compose Compiler Gradle плагин (раньше был частью Android Gradle Plugin) позволит быстро настроить фреймворк в вашем проекте. Пример миграции тут

Больше подробностей в обновленной документации

#compose #kotlin #k2

Больше про Compose в @compose_broadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42👍7🎉41
Forwarded from Android Broadcast
🔥 Первая альфа Jetpack SQLite 2.5.0 с поддержкой Kotlin Multiplatform: нативно Android и iOS, а остальные платформы через собранный из исходников SQLite (bundled версия)

Добавлены новые API: SQLiteDriver, SQLiteConnection и SQLiteStatement для установки связи с БД и выполнением запросов

#sqlite #kmp #jetpack #jetpackupdate
🔥24
На developers.android.com появилась страница с документацией по использованию SQLite артефакт в Kotlin Multiplatform

#android #ios #desktop #sqlite #документация
🎉13🤯2
Драйвер БД нативно работает только на Android и iOS, а вот другие платформы работают через собранный из исходников SQLite вариант

#sqlite
👍7
Пример использования нового мультиплатформенного API. Подробности тут

#sqlite #kmp
🔥22
Forwarded from Android Broadcast
‼️‼️‼️ Главная новость дня - Jetpack Room становиться мультиплатформенным!

Стартанула разработка версии 2.7.0 и это становится главной новостью.

Важные факты:
👉 Переход на генерацию на основе KSP по умолчанию и генерация Kotlin кода
👉 KAPT и APT будут генерировать Java код
👉 Переход на новые мультиплатформенные API из Jetpack SQLIte
👉 Удалили KTX артефакт так как основной артефакт будет полностью на Kotlin
👉 Все функции Room интерфейсов должны содержать либо suspend функции или возвращать Flow

Что не работает
Пока не будет поддержки @RawQuery кроме как на Android
Подготовленная заранее БД (Pre-package Database) работает только на Android
RoomDatabase.Builder.enableMultiInstanceInvalidation доступно только для Android
RoomDatabase.Builder.setAutoCloseTimeout работает только на Android

Больше информации о Room в KMP читайте в документации

#sqlite #room #jetpack #jetpackupdate #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥173
Интересная статья с демонстрацией примера как Kotlin value class с возможностью Inline в JVM позволяет спрятать эффективно хранить информацию о сетке 8x8 в Long, а пользователю дать удобное API.

Затем подключаем оптимизатор R8, то все становится еще лучше!

#оптимизации #производительность
👍22🤯7🔥21
Рекомендации из статьи - оборачивайте все внешние зависимости в собственные API обертки и используйте через них. Зачем? легко поменять реализацию или делать разные сборки и сравнивать технологии. Что думаете вы?

#лучшиепрактики
👍47🤯5👏2🏆1
Forwarded from Android Broadcast
Написал разбор, что такое иммутабельный тип, как написать свой и какое важное применение он имеет в программировании. Прочитать статью можно тут, а что ссылка открылась нужно получить доступ к Базе Знаний Android разработчика.

Сделать это можно через Boosty или Telegram

#хакаемсобес #AndroidBroadcast
👍14🤯6
Вышел Kotlin 1.9.24 с исправлениями багов

#kotlin
👍36🎉63
Вышел KotlinX IO 0.3.4
👉 Поддержка linuxArm32Hfp
👉 Валидация KLib ABI
👉 Kotlin 1.9.24
👍12🔥2