Линтер отдельно для Compose
Если, по каким-то причинам, ваша команда только-только вкатывается в Compose, а бить всех по рукам в каждом втором пулреквесте надоело - вот линтер с кучей правил и бест практисов, делающий это за вас. Решение только для тех кто только-только начинает и не хочет дописывать в базовый линт/detekt очевидные кастомные правила
Кстати, а у detekt полноценный мажорный апгрейд до версии 2.0!
Если, по каким-то причинам, ваша команда только-только вкатывается в Compose, а бить всех по рукам в каждом втором пулреквесте надоело - вот линтер с кучей правил и бест практисов, делающий это за вас. Решение только для тех кто только-только начинает и не хочет дописывать в базовый линт/detekt очевидные кастомные правила
Кстати, а у detekt полноценный мажорный апгрейд до версии 2.0!
GitHub
GitHub - AndroidPoet/compose-guard: Real-time detection of Jetpack Compose best practices and rule violations directly in Android…
Real-time detection of Jetpack Compose best practices and rule violations directly in Android Studio. - AndroidPoet/compose-guard
👍7🔥5❤1
Android Good Reads
Какое совпадение. Пост про вайбкодинг и снова cloudflare упал
Сделать похожую штуку в шуточной манере для своего проекта можно тут:
https://stacktower.io/
https://stacktower.io/
😁5
Android Good Reads
Оркестрация Maestro UI тестов Тесты могут гоняться очень долго, особенно end-2-end. Тут разбирают Maestro фреймворк. В статье гоняют их в Firebase Test Lab, так что время буквально деньги!
Android UI-тесты с Maestro без тяжелой инфраструктуры
Еще немного практики про Maestro тесты.
Не совсем согласен с автором на счет расположения их в
Еще немного практики про Maestro тесты.
Не совсем согласен с автором на счет расположения их в
pre-push, однако такой флоу можно легко поместить в наиболее удобное для вас место.👍4
Если у вас есть свободный час времени, подключайтесь на традиционный новогодний стрим подкаста Подлодка – будем подводить итоги года, рассказывать про наши главные открытия, самые полезные книги и всякое такое. А главное – разыграем среди зрителей Switch 2!
👉Начинаем через 10 минут
👉Начинаем через 10 минут
👎8👍4🥴3❤1
Forwarded from Mobile VK Hub
This media is not supported in your browser
VIEW IN TELEGRAM
Конец года, и снова заканчиваются все подписки 😱
Узнали? Согласны? Не беда — мы как раз разыгрываем промокоды на год от Облака Mail и VK Музыки!
Условия участия простые:
🔹 подпишитесь на наш канал @mobilehubvk
🔹нажмите кнопку «Участвовать»
🔹 дождитесь 30 декабря — в этом посте мы выберем случайным образом 6 победителей
Информацию об организаторе, правилах и призах ищите по ссылке.
Удачи!
Узнали? Согласны? Не беда — мы как раз разыгрываем промокоды на год от Облака Mail и VK Музыки!
Условия участия простые:
🔹 подпишитесь на наш канал @mobilehubvk
🔹нажмите кнопку «Участвовать»
🔹 дождитесь 30 декабря — в этом посте мы выберем случайным образом 6 победителей
Информацию об организаторе, правилах и призах ищите по ссылке.
Удачи!
👎11❤3👍2💅1
Подборка лучших постов за 2025 год 📱
👉 А как вы работаете с ожиданиями пользователя?
👉 keepScreenOn в Jetpack Compose
👉 Glitch effect в Compose. А тут вышла интересная серия постов. Мы закинули собственную реализацию, а так же сравнительный анализ с шейдерами
👉 Шпаргалка по размещению Composable элементов
👉 Rich Errors в Kotlin 2.4. Анонс был пол года назад, а 2.4 версия еще не близко!
👉 Разбираем порядок вызова DisposableEffect, LaunchedEffect и Composable
👉 С чего мне начать изучать про KMP
👉 Рефлексия по поводу инцидентов cloudflare под конец года
Полезный контент занимает львиную часть топа, но есть и пара мемов, попавших в боль! Ну и вообще, с наступающим, держитесь там, продолжайте ставить реакты к статьям и вести холивары в комментариях!
👉 А как вы работаете с ожиданиями пользователя?
👉 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🔥5❤3
Так как KMP занимаем отдельное место в моем сердечке - с ним напрямую связана моя работа нынче. Вот вам подборка статей про вкатывание в 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
Красиво/аккуратно прям как в Telegram клиенте, но без тонны легаси и с поддержкой Compose MP
Github (5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥5
Очередная напоминалка от Google Play. 31 Марта 2026 года немного изменится вид иконок в Google Play Store, увеличив радиус скругления.
Я хотел было возмутиться, что им там делать нефиг, но они, на самом деле, подгоняют всё под material3
Гайдлайны тут
Я хотел было возмутиться, что им там делать нефиг, но они, на самом деле, подгоняют всё под 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
👉 Внутри пошагово, с примерами и объяснениями разбирают применение шейдеров
👉 Это важно, чтоб ваше приложение было более производительное
👉 Чуть более хайповая статья от того же автора про то как сделать Upside-Down эффект из Stranger Things
👉 Про шейдеры на BottomNavBar - совсем простенько, зато юзкейз!
Репозиторий с кодом и примерами: https://github.com/makzimi/glitch-shader
🔥4👍2
Jetpack Compose Memory Leaks: A Reference-Graph Deep Dive
Разбор ошибок при работе с Compose приводящим к утечкам памяти. В итоге:
👉 Чаще используйте
👉 Никогда не храните
👉 Избегайте использования
👉 Используйте
👉 Добавляйте ключи к
👉 Не захватывайте контекст
Разбор ошибок при работе с Compose приводящим к утечкам памяти. В итоге:
👉 Чаще используйте
DisposableEffect(owner) во избежании проблем с зануливанием слушателей👉 Никогда не храните
Composable-лямбды или UI-объекты во ViewModel или синглтонах. Вместо этого храните состояние (StateFlow) и события (SharedFlow)👉 Избегайте использования
GlobalScope и областей видимости всего приложения для работы, связанной с UI👉 Используйте
LaunchedEffect или viewModelScope в зависимости от того, к чьему жизненному циклу привязана задача👉 Добавляйте ключи к
remember. Если объект зависит от X, используйте remember(X)👉 Не захватывайте контекст
Activity в долгоживущие колбэки . Используйте rememberUpdatedState или перепроектируйте архитектуру так, чтобы UI-слой занимался UI-задачами. Актуально не только для ComposeHackernoon
Jetpack Compose Memory Leaks: A Reference-Graph Deep Dive | HackerNoon
Jetpack Compose memory leaks are usually reference leaks. Learn the top leak patterns, why they happen, and how to fix them.
👍9❤2
Compose MP 1.10
👉
👉 Navigation 3 поддерживается, но пока сыровато
👉 Compose Hot Reload стабильный
Не из пресс релиза
👉 Депрекейтнули dependency aliases,
👉 Депрекейтнули
👉 Минимальная версия Kotlin - 2.2.10
👉 Вытащили
👉 Поддержка AGP 9.0.0 - я пытался перехать на AGP 9.0, но то кастомные плагины ломаются, то зависимости перестают работать. Не могу ничего сказать
👉
@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, но то кастомные плагины ломаются, то зависимости перестают работать. Не могу ничего сказать
The JetBrains Blog
Compose Multiplatform 1.10.0: Unified @Preview, Navigation 3, and Stable Compose Hot Reload | The Kotlin Blog
Compose Multiplatform 1.10.0 has been released with common @Preview annotation, support for Navigation 3 on non-Android targets, and bundled stable Compose Hot Reload.
👍3🔥3❤1👎1