Android Good Reads
4.09K subscribers
399 photos
17 videos
1 file
2.18K links
Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Размещение рекламы: @tanyasanovna

Автор канала: @Lamprof
Download Telegram
Линтер отдельно для Compose

Если, по каким-то причинам, ваша команда только-только вкатывается в Compose, а бить всех по рукам в каждом втором пулреквесте надоело - вот линтер с кучей правил и бест практисов, делающий это за вас. Решение только для тех кто только-только начинает и не хочет дописывать в базовый линт/detekt очевидные кастомные правила

Кстати, а у detekt полноценный мажорный апгрейд до версии 2.0!
👍7🔥51
Android Good Reads
Какое совпадение. Пост про вайбкодинг и снова cloudflare упал
Сделать похожую штуку в шуточной манере для своего проекта можно тут:
https://stacktower.io/
😁5
Android Good Reads
Оркестрация Maestro UI тестов Тесты могут гоняться очень долго, особенно end-2-end. Тут разбирают Maestro фреймворк. В статье гоняют их в Firebase Test Lab, так что время буквально деньги!
Android UI-тесты с Maestro без тяжелой инфраструктуры

Еще немного практики про Maestro тесты.
Не совсем согласен с автором на счет расположения их в pre-push, однако такой флоу можно легко поместить в наиболее удобное для вас место.
👍4
Если у вас есть свободный час времени, подключайтесь на традиционный новогодний стрим подкаста Подлодка – будем подводить итоги года, рассказывать про наши главные открытия, самые полезные книги и всякое такое. А главное – разыграем среди зрителей Switch 2!

👉Начинаем через 10 минут
👎8👍4🥴31
Forwarded from Mobile VK Hub
This media is not supported in your browser
VIEW IN TELEGRAM
Конец года, и снова заканчиваются все подписки 😱

Узнали? Согласны? Не беда — мы как раз разыгрываем промокоды на год от Облака Mail и VK Музыки!

Условия участия простые:
🔹 подпишитесь на наш канал @mobilehubvk
🔹нажмите кнопку «Участвовать»
🔹 дождитесь 30 декабря — в этом посте мы выберем случайным образом 6 победителей

Информацию об организаторе, правилах и призах ищите по ссылке.

Удачи!
👎113👍2💅1
Подборка лучших постов за 2025 год 📱

👉 А как вы работаете с ожиданиями пользователя?
👉 keepScreenOn в Jetpack Compose
👉 Glitch effect в Compose. А тут вышла интересная серия постов. Мы закинули собственную реализацию, а так же сравнительный анализ с шейдерами
👉 Шпаргалка по размещению Composable элементов
👉 Rich Errors в Kotlin 2.4. Анонс был пол года назад, а 2.4 версия еще не близко!
👉 Разбираем порядок вызова DisposableEffect, LaunchedEffect и Composable
👉 С чего мне начать изучать про KMP
👉 Рефлексия по поводу инцидентов cloudflare под конец года

Полезный контент занимает львиную часть топа, но есть и пара мемов, попавших в боль! Ну и вообще, с наступающим, держитесь там, продолжайте ставить реакты к статьям и вести холивары в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥53
Так как KMP занимаем отдельное место в моем сердечке - с ним напрямую связана моя работа нынче. Вот вам подборка статей про вкатывание в KMP:

👉 Зачем этот ваш KMP нужон?
👉 Как перекатывать на него свой проект
👉 А как перекатывать всю команду в него?
👉 Истории внедрения, возникшие проблемы и решения
👉 Большой гайд если вы работаете в бигтехе, как внедрить?
👉 Ну и простой пример как сделать апку
👍6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Анимируем смену на темную/светлую тему

Красиво/аккуратно прям как в Telegram клиенте, но без тонны легаси и с поддержкой Compose MP

Github (5⭐️) : https://github.com/gleb-skobinsky/ThemeAnimator
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥5
Очередная напоминалка от Google Play. 31 Марта 2026 года немного изменится вид иконок в Google Play Store, увеличив радиус скругления.

Я хотел было возмутиться, что им там делать нефиг, но они, на самом деле, подгоняют всё под material3

Гайдлайны тут
😱7🤣6👍4
Android Good Reads
Продолжаем историю с Glitch эффектом. Как сделать этот же эффект не через Composable, а с помощью Android AGSL shaders. Внутри вас ждет: 👉 Что такое шейдеры 👉 Реализация 👉 Детальный сравнительный анализ производительности обоих подходов В статье очень много…
This media is not supported in your browser
VIEW IN TELEGRAM
Еще про шейдеры

👉 Внутри пошагово, с примерами и объяснениями разбирают применение шейдеров
👉 Это важно, чтоб ваше приложение было более производительное
👉 Чуть более хайповая статья от того же автора про то как сделать Upside-Down эффект из Stranger Things
👉 Про шейдеры на BottomNavBar - совсем простенько, зато юзкейз!

Репозиторий с кодом и примерами: https://github.com/makzimi/glitch-shader
🔥4👍2
Jetpack Compose Memory Leaks: A Reference-Graph Deep Dive

Разбор ошибок при работе с Compose приводящим к утечкам памяти. В итоге:
👉 Чаще используйте DisposableEffect(owner) во избежании проблем с зануливанием слушателей
👉 Никогда не храните Composable-лямбды или UI-объекты во ViewModel или синглтонах. Вместо этого храните состояние (StateFlow) и события (SharedFlow)
👉 Избегайте использования GlobalScope и областей видимости всего приложения для работы, связанной с UI
👉 Используйте LaunchedEffect или viewModelScope в зависимости от того, к чьему жизненному циклу привязана задача
👉 Добавляйте ключи к remember. Если объект зависит от X, используйте remember(X)
👉 Не захватывайте контекст Activity в долгоживущие колбэки . Используйте rememberUpdatedState или перепроектируйте архитектуру так, чтобы UI-слой занимался UI-задачами. Актуально не только для Compose
👍92
Compose MP 1.10

👉 @Preview теперь и в commonMain
👉 Navigation 3 поддерживается, но пока сыровато
👉 Compose Hot Reload стабильный

Не из пресс релиза
👉 Депрекейтнули dependency aliases, compose.ui теперь всё
👉 Депрекейтнули PredictiveBackHandler
👉 Минимальная версия Kotlin - 2.2.10
👉 Вытащили DialogProperties и PopupProperties в стабильные
👉 Поддержка AGP 9.0.0 - я пытался перехать на AGP 9.0, но то кастомные плагины ломаются, то зависимости перестают работать. Не могу ничего сказать
👍3🔥31👎1