Kotlin Multiplatform Broadcast
9.48K subscribers
834 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
Пример миграции (EN, 6 мин, без VPN) с обычного использова Koin на Koin Annotations - генерацию модулей на основе KSP
java-time-fun - библиотека с расширениями для Java 8 Data Time API
👍21
Вышел KtLint 1.2.1. Как всегда: новые правила, улучшения старых, исправление багов

#tooling
👍20
Forwarded from Compose Broadcast (Кирилл Розов)
This media is not supported in your browser
VIEW IN TELEGRAM
В Haze добавили поддержку WebAssembly. Получилось очень просто добавить к уже готовой реализации Compose iOS и Desktop на JVM

#sample #wasm @compose_broadcast
🔥17
Вчера на собеседование возникло много вопросов касательно Nothing и я решил описать полный правильный ответ на этот вопрос. Статья для патронов на Boosty
👍203
В Kotlin есть возможность уменьшить количество занимаемой памяти объектами с помощью value классов и пометкой их как @JvmInline. Например, так реализован класс Color в Compose, чтобы не создавать обертку над хранимым в long значении. Рекомендую вам ознакомиться с документацией и использовать данный подход в Kotlin/JVM
👍75
Monarch - небольшая мультиплатформенная библиотека для работы с feature флагами
👍171
Опубликовали план развития Ktor на 2024:
👉 Плагин OpenTelemetry 
👉 Поддержка gRPC на сервере и клиенте
👉 Миграция на kotlinx-io в Ktor 3.0
👉 Поддержка управления транзакциями в БД
👉 Упрощенный DI в Ktor Server
👉 Улучшение документации
👉 Сторонние плагины Ktor будут приниматься и предлагаться при создании нового Ktor проекта через Web
👉 CLI Tool для Ktor

#ktor
👍396
Пример использования value классов, чтобы сделать проверки типов строже, но без значительного эффекта на работу кода. Подробности тут (EN, 2 мин)

🔗 Ссылка без VPN
23👍15🔥8
Kotlin's JDK release compatibility flag - статья о том как можно спокнуться о том как если не проставить везде правильную версию JDK (-source-target, и -bootclasspath), то можно получить креш в проде.

Рекомендация - используйте Gradle Toolchain (спорно, и ждем пояснений в следующей статье)

#jvm
12👍2
Forwarded from Android Broadcast (Кирилл Розов)
На моём Boosty вы сможете найти лучшие практики и лайфхаки по использованию разных API:
👉 Как ускорить получение зависимостей из Dagger графа
👉 Делегаты классов в Kotlin при миграции между разными API
👉 Как не дать запуститься Coroutine больше одного раза. Решение в лоб и красиво

Все это доступно по подписке за 300 рублей в месяц и даже больше контента: База Знаний, эксклюзивные видео, ранний доступ, закрытый чат и много других преимуществ!

#AndroidBroadcast #Boosty
👍5🤯2🔥1
Используете Dispatchers.Main.immediate ?
Anonymous Poll
30%
Да
31%
Не знаю про такой
34%
Нет
6%
Не участвую
По умолчанию Dispatchers.Main откладывает выполнение кода в очередь, даже если вызов корутины был с Main потока. Dispatchers.Main.immediate делает проверку происходит ли выполнение на главном потоке и если да - сразу выполняет код корутины.

В большинстве случаев для выполнения операции на главном/UI потоке стоит использовать именно immediate Dispatcher. Например, все CoroutineScope из Jetpack Lifecycle и ViewModel используют именно его

Больше подробностей в статье (ссылка без VPN)

#coroutines
👍67💯8🎉1
Forwarded from Android Broadcast (Кирилл Розов)
Обновления Lifecycle.2.8.0-alpha03 заслуживают отдельного поста
👉 ViewModel.viewModelScope теперь можно перегрузить через конструктор. Сможете свои параметры CoroutineContext задать
👉 Артефакт lifecycle-viewmodel теперь мультиплатформенный, а также все API в них ViewModelViewModelStoreViewModelStoreOwner, и ViewModelProvider
👉 Прошла миграция с Java class на Kotlin KClass

#jetpackupdate #kmp #jetpack #viewmodel
👍32🔥5
Аня Жаркова написала статью (9 мин) с обзором использования Jetpack ViewModel в мультиплатформенных проектах на Kotlin с поддержкой iOS, Android и Desktop (macOS, Linux, JVM)

#android #ios #desktop #kmp
🔥60👍3
Приложение-словарь на Kotlin Multiplatform и Compose Mltiplatform для Android и iOS

🔗 Исходники на GitHub
🔗 Приложение в Google Play
🔗 Приложение в App Store

#пример
🔥15👍123
На днях вышел Gradle 8.7 и нтузиаст решил на примере проекта Now In Android оценить влияние версий Gradle на скорость компиляции проекта. По итогу время сборки осталось +- таким же, а вот расход памяти немного увеличился. Подробности читайте тут

#gradle #performance
🤯14🔥3👍2🎉2