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
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
Если вы хотите ускорить анализ кода в IDEA - включите экспериментальный анализ Kotlin кода на K2. Поддерживается пока не всё (например, Android проекты, KMP и часть привычных функций обошли стороной). Все подробности в статье

#idea #k2
👍14
Вышло обновление Compose-Multiplatform-Wizard - накликиваете себе что вам нужно в Kotlin Multiplatform проекте и получаете архив для старта проекта

Что было добавлено:
👉 генерится новый проект
👉 анимации в примере
👉 из коробки используются ресурсы: иконки, текст и кастомный шрифт
👉 самые свежие версии всех компонентов
👉 конфигурация Gradle в проекте по всем лучшим практикам современности
🧑‍💻 добавлен WASM таргет
👉 генерация common Compose UI тестов
👉 тесты можно запустить прямо на iOS симуляторе или Android эмуляторе из терминала

#tooling
🔥38👍13
Jake Wharton рассказывает чем плох Gradle Java Toolchain для указание используемых версий Java

По итогу рекомендация использовать флаг --release при компиляции Java. Для Android - sourceCompatibility (для Java) и jvmTarget (для Kotlin)
🤯11👍10
Разбор (EN, 3м) паттерна Bridge и демонстрация как его реализовать на Kotlin
👍23
Context receivers — новые extension functions (7м) - статья о экспериментальной возможности Kotlin для указания контекста в котором должна быть вызвана функция
👍26
📺 Полезный доклад с Droidcon про возможности Context Receviers (34м)
🔥8👍21
Как разработчику повысить доход от монетизации приложения и не сломать голову? - Подключить Простую монетизацию!

📌 Тебе нужно подключить дополнительные рекламные сети и оптимизировать блоки в приложении, но у студий не хватает времени или экспертизы на детальную настройку рекламы? Эту проблему решает Простая Монетизация Яндекса.

Специалисты Простой монетизации уже проанализировали гео и особенности аудитории приложения, оптимизировали работу и настроили новые рекламные сети.

Сервис Простой монетизации включает:
👉 Агрегацию доходов от всех рекламных сетей в одном месте и выплаты раз в месяц
👉 Всю настройку рекламной монетизации
👉 Мониторинг эффективности рекламы и определение точек роста
👉 Гибкую настройку рекламных форматов с помощью экспертов Яндекса

🔴 Подключить Простую монетизацию

#реклама
👍71🔥1
Разбор (3м, EN, без VPN) шаблона Proxy и как его реализовать на Kotlin

#архитектура
👍20
Разбор паттерна Facade (EN, 2м, без VPN) и реализация его на Kotlin. Паттерн предназначен для сокрытия сложной реализации, оперирующий несколькими аналогичными интерфейсами

#архитектура
👍221
Media is too big
VIEW IN TELEGRAM
Роберт Мартин (Дядя Боб) топит чтобы вы не использовали параметры функций типа Boolean. Они усложняют код и можно создать просто две отдельные функции

Больше интересного в @kotlin_broadcast
🔥32🤯16👍8💯3
Статья (EN, 20м) о безопасном обновлении состояния в Kotlin приложениях:
👉 Что такое состояние
👉 Как сделать его реактивным
👉 Унификация состояния
👉 Консистентность состояния
👉 Параллельное обновление состояния
👉 Сериализация изменений состояния

🔗 Альтернативная ссылка

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

Больше про Kotlin на канале @kotlin_broadcast
👍6🤯3
Forwarded from Android Broadcast (Кирилл Розов)
Написал статью о том почему плохо использовать подобный подход с when и как провести его правильный рефакторинг.

#AndroidBroadcast #лучшиепрактики #архитектура
🤯24👍121💯1