Kotlin Multiplatform Broadcast
9.48K subscribers
835 photos
53 videos
1.13K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
Note Delight - open source приложение на Kotlin Multiplatform и Compose Multiplatform с поддержкой Android, iOS, Desktop. Автор один из подписчиков и уверен что ответит на ваши комментарии

#sample #android #ios #desktop @kotlin_broadcast
👍29🔥43👏2
Kotlin Foundation была принята в качества ментора в рамках программы Google Summer of Code 2024
👍23
Пример миграции (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