Baseline Profile + Remote Config - рабочее решение для разных окружений
Кратко:
👉 Почему не получилось просто заинжектить всё через
👉 Варианты переключения окружения в тестах
👉 Как определить окружение
👉 Отдельный
Кратко:
baseline профили помогают повышать скорость выполнения кода примерно на 30% уже с первого запуска. Но статья про другую боль - что делать, если приложение активно использует Remote Config, а baseline гоняется на релизной сборке.👉 Почему не получилось просто заинжектить всё через
DI👉 Варианты переключения окружения в тестах
👉 Как определить окружение
baseline внутри DI👉 Отдельный
BuildConfig модуль и флагDeveloper Notes
Baseline Profile + Remote Config - рабочее решение для разных окружений
Привет. Это небольшая заметка о том, с чем я столкнулся при работе с baseline profile.
Коротко: baseline профили помогают повышать скорость выполнения кода примерно на 30% уже с первого запуска.
Но статья не про то, как их настраивать по документации, а про…
Коротко: baseline профили помогают повышать скорость выполнения кода примерно на 30% уже с первого запуска.
Но статья не про то, как их настраивать по документации, а про…
❤4👍3🔥2
JetBrains представила новую IDE - AIR
Сделана только для кодинга через агентов, поддерживает только claude (Удивительно, что не их Junie).
И что?
Я верю что такой стиль разработки прочно впишется на долго и рад видеть не очередной форк VSCode, а IDE от профи для профи
Сделана только для кодинга через агентов, поддерживает только claude (Удивительно, что не их Junie).
И что?
Я верю что такой стиль разработки прочно впишется на долго и рад видеть не очередной форк VSCode, а IDE от профи для профи
air.dev
Air: Multitask with agents, stay in control
Air is an agentic development environment. Delegate complex coding tasks to AI agents that work in parallel – always under your oversight.
😁9🔥7🥴4🤯2❤1👍1🤣1
Kotest: Современный фреймворк для моков и тестов на мультиплатформе
Немного непривычный, в традиционном понимании, фреймворк для написания тестов:
В самой статье еще 9 примеров разных стилей написания тестов. Лучше 1 раз это увидеть...
Сам проект: https://kotest.io/
Немного непривычный, в традиционном понимании, фреймворк для написания тестов:
class StringSpecExample : StringSpec({
"length of hello should be 5" {
"hello".length shouldBe 5
}
})В самой статье еще 9 примеров разных стилей написания тестов. Лучше 1 раз это увидеть...
Сам проект: https://kotest.io/
🥴9👍3😨1
Линтер отдельно для 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
Подборка лучших постов за 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.
👍10❤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
Android Good Reads
Про Server Driven UI. Ранее автор разбирал ограничение Client Driven UI. А теперь продает нам преимущества SDUI. 👉 Как следует из названия, экраны отрисовываются по инструкциям с сервера 👉 Несмотря на кажущуюся независимость клиента от сервера, ваше приложение…
Remote Compose
Отдельный пласт приложений - SDUI, сложно-тяжко и не всегда нативно выглядит. Можно почитать в предыдущем посте. А тут очень тихо релизнулся нативный аналог. Под релиз даже статья выходила:
https://proandroiddev.com/remotecompose-another-paradigm-for-server-driven-ui-in-jetpack-compose-92186619ba8f
Основная фишка - полная интеграция в
Отдельный пласт приложений - SDUI, сложно-тяжко и не всегда нативно выглядит. Можно почитать в предыдущем посте. А тут очень тихо релизнулся нативный аналог. Под релиз даже статья выходила:
https://proandroiddev.com/remotecompose-another-paradigm-for-server-driven-ui-in-jetpack-compose-92186619ba8f
Основная фишка - полная интеграция в
Compose, что позволяет вам сделать частично динамический кусок вашего интерфейса без встраивания такого монстра как SDUIAndroid Developers
Remote Compose | Jetpack | Android Developers
🔥5👍3
Android Good Reads
JetBrains представила новую IDE - AIR Сделана только для кодинга через агентов, поддерживает только claude (Удивительно, что не их Junie). И что? Я верю что такой стиль разработки прочно впишется на долго и рад видеть не очередной форк VSCode, а IDE от…
AI по чуть чуть и до Android'а добирается. Почти все тулзы уже поддерживают SKILLS - я нашел базовый минимум для Android разработки
https://t.me/androidraft/87
https://t.me/androidraft/87
Telegram
Антоха Разраб c AI
Нашел удобную сеттилку SKILLS и конкретный скилл для Android
https://skills.sh/alinaqi/claude-bootstrap/android-kotlin
Зачем нужны эти скиллы в AI? - проактивное применение правил. Вам не надо переживать что вы забыли указать в контексте или в запросе информацию…
https://skills.sh/alinaqi/claude-bootstrap/android-kotlin
Зачем нужны эти скиллы в AI? - проактивное применение правил. Вам не надо переживать что вы забыли указать в контексте или в запросе информацию…
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Я устал писать боилерплейт в Compose и написал свой Emmet-like плагин для Android Studio
Мы все любим Compose, но "Nesting Hell" и бесконечный бойлерплейт из
Встречайте YARC (Yet Another Rapid Compose) — плагин для Android Studio, который привносит скорость Emmet в разработку Android UI.
Вместо того чтобы писать 15 строк кода вручную, просто наберите:
👉 Быстрее, чем ИИ: Не нужно ждать ответа сервера или исправлять "галлюцинации"
👉 Умнее, чем Live Templates: Поддерживает динамическую вложенность и математику
👉 Open Source: От Android-разработчика для Android-разработчиков
IntelliJ Marketplace
GitHub (11 ⭐️) https://github.com/andrew-malitchuk/yet-another-rapid-compose
Мы все любим Compose, но "Nesting Hell" и бесконечный бойлерплейт из
Column, Row и Modifier убивают продуктивность.Встречайте YARC (Yet Another Rapid Compose) — плагин для Android Studio, который привносит скорость Emmet в разработку Android UI.
Вместо того чтобы писать 15 строк кода вручную, просто наберите:
col/row/txt*3 и нажмите Cmd+Opt+E. Вы мгновенно получите готовое дерево компонентов.👉 Быстрее, чем ИИ: Не нужно ждать ответа сервера или исправлять "галлюцинации"
👉 Умнее, чем Live Templates: Поддерживает динамическую вложенность и математику
👉 Open Source: От Android-разработчика для Android-разработчиков
IntelliJ Marketplace
GitHub (11 ⭐️) https://github.com/andrew-malitchuk/yet-another-rapid-compose
👍15😁9🔥3
Save for later
Новая фича в Google Play консоли. Помогает дробить изменения перед отправкой на ревью. Будет полезно, чтобы не блокировать весь релиз целиком из-за сторонних изменений.
Новая фича в Google Play консоли. Помогает дробить изменения перед отправкой на ревью. Будет полезно, чтобы не блокировать весь релиз целиком из-за сторонних изменений.
👍5🔥3
Навыки, которые мы теряем, пока AI делает скучную работу
Чот я всё хвалю и хвалю AI, надо и поругать в сегодняшней статье. Автор проводит параллель с пилотами, которые теряют навыки ручного управления из-за надежды на автопилот, и утверждает, что то же самое происходит сейчас с разработчиками
👉 Скука — это тренировка. Написание тестов, документации и бойлерплейта — это не просто рутина. Это «повторения», которые формируют интуицию и помогают предугадывать баги и граничные сценарии
👉 Невидимая атрофия. Потеря навыка происходит незаметно. Вы по-прежнему закрываете тикеты, метрики выглядят хорошо, но способность глубоко понимать систему и находить сложные баги (которые AI пропускает) исчезает
👉 Иллюзия продуктивности. Ссылаясь на исследования (включая отчет GitClear 2025), автор отмечает, что с приходом AI количество рефакторинга упало, а копипасты — выросло. Опытные инженеры могут даже замедляться, используя AI, не замечая этого
Отказываться от AI глупо, но важно не превратиться в оператора, который не может работать без инструмента. Решение — периодически писать код и тесты самому, чтобы поддерживать форму
Чот я всё хвалю и хвалю AI, надо и поругать в сегодняшней статье. Автор проводит параллель с пилотами, которые теряют навыки ручного управления из-за надежды на автопилот, и утверждает, что то же самое происходит сейчас с разработчиками
👉 Скука — это тренировка. Написание тестов, документации и бойлерплейта — это не просто рутина. Это «повторения», которые формируют интуицию и помогают предугадывать баги и граничные сценарии
👉 Невидимая атрофия. Потеря навыка происходит незаметно. Вы по-прежнему закрываете тикеты, метрики выглядят хорошо, но способность глубоко понимать систему и находить сложные баги (которые AI пропускает) исчезает
👉 Иллюзия продуктивности. Ссылаясь на исследования (включая отчет GitClear 2025), автор отмечает, что с приходом AI количество рефакторинга упало, а копипасты — выросло. Опытные инженеры могут даже замедляться, используя AI, не замечая этого
Отказываться от AI глупо, но важно не превратиться в оператора, который не может работать без инструмента. Решение — периодически писать код и тесты самому, чтобы поддерживать форму
freedium-mirror.cfd
The Skills You're Losing While AI Handles the Boring Parts | by Alvis Ng - Freedium
There's a moment you recognize after you've been using AI long enough.
💯18👍6😱3👌2🔥1