Kotlin Multiplatform Broadcast
9.48K subscribers
834 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
News Kotlin Multiplatform App - проект на Compose и KMP (не от Кирилла Розова) для Android, iOS, Windows, macOS и Linux

#opensource #пример
👍42
Forwarded from Android Broadcast
This media is not supported in your browser
VIEW IN TELEGRAM
📺 Заработок на Open Source. Decompose. Будущее KMP. Аркадий Иванов (1 час 22 мин)

Интервью с Аркадием Ивановым, автором популярных библиотек Decompose и MVIKotlin, про open source, жизнь в Англии, будущее Kotlin Multiplatform.

#AndroidBroadcast #видео #kmp #decompose #mvikotlin #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍7👎2
Forwarded from Android Broadcast
🤖 Demeter — инструмент для анализа производительности Android приложений

🔧 В опенсорс выложили инструмент для сбора метрик работы Android приложений - Demeter. Решение было разработано в рамках задач по улучшению скорости запуска и работы приложений. Команде не хватало информации, которую собирают готовые решения, поэтому ребята сделали свой инструмент.

Demeter хорош тем, что он не заменяет привычные инструменты анализа производительности, а дополняет собираемую информацию для лучшего понимания скорости работы кода приложения. Также всю информацию можно увидеть прямо на экране устройства.

Инструмент имеет плагинную архитектуру и открытый исходный код, что позволяет вам сделать собственные расширения. Из коробки доступны плагины:
• Замер времени выполнения методов и добавление большей информации для профайлера
• Подсчет количества рекомпозиций в Composable функциях
• Время инициализации зависимостей из Dagger графа
(предлагайте в комментариях, какие замеры было бы полезно сделать в ваших приложениях, а я буду делиться своими)

Demeter может работать через плагин Kotlin компилятора (только с исходным кодом в вашем проекте) и/или через модификацию байткода, где уже можно следить за кодом в подключённых библиотеках без исходного кода. Подробнее можно ознакомиться в статье.

Измерять производительность на дебаг билдах смысла не имеет, так как там много лишнего, а вот когда проходит регресс или через автотесты замерять, то как раз Demeter тут будет полезен, так как важна оценка в одинаковых условиях.

❗️ ВАЖНО! Demeter можно интегрировать в продакшен билд, но НЕ НАДО этого делать. Весь замер должен производиться на тестовых сборках с включением опций профилирования через AndroidManifest.

Задавайте свои вопросы по библиотеке, и ещё сделаем отдельное интервью про производительность приложений и тем как за ней постоянно следить, выдерживая заданную планку качества работы.

#android #производительность #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Forwarded from Android Broadcast
🎉 Новый инструмент управления состоянием для Flutter - yx_state

Команда Городских сервисов Яндекса разработала и выложила в опенсорс новый state management для Flutter. Около года назад они выпустили yx_scope — фреймворк для Dependency Injection.

yx_state — это набор библиотек для управления состоянием в Dart‑ и Flutter‑приложениях, созданный с фокусом на простоту использования и гибкость настройки. В наборе три библиотеки:
👉 yx_state — библиотека для управления состоянием
👉 yx_state_flutter — набор виджетов для интеграции с Flutter
👉 yx_state_transformers — набор трансформеров для управления стратегиями выполнения операций.

Ключевые особенности:
👉 Простота. Методы вместо событий — никаких дополнительных классов и маппингов.
👉 Последовательность выполнения. Если вы несколько раз подряд вызовете методы, использующие handle, то каждая новая операция будет ждать завершения предыдущей, образуя очередь.
👉 Удобство. Можно дождаться выполнения операции привычным способом через await.
👉 Гибкие стратегии. По умолчанию все операции выполняются последовательно, но можно изменить поведение на другое, например, параллельное выполнение.
👉 Глобальные переопределения. Можно настроить поведение всех StateManager в приложении в одном месте, не изменяя код каждого отдельного StateManager.
👉 Обработка ошибок. У StateManager есть встроенный механизм для обработки исключений. Если вы не перехватываете исключения, они будут автоматически перехвачены и обработаны.
👉 Интеграция с Flutter. StateBuilder для перестройки UI при изменении состояния, StateListener — виджет для выполнения сайд‑эффектов без перестройки UI и другие.

В Яндекс Про этот инструмент уже использовался для создания сотен разных фич, теперь с ним может ознакомиться каждый — исходный код уже лежит на 🐱 GitHub.

❗️Примеры и подробный обзор в статье на Хабре.

#flutter #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔16👍51