Android Good Reads
JetBrains представила новую IDE - AIR Сделана только для кодинга через агентов, поддерживает только claude (Удивительно, что не их Junie). И что? Я верю что такой стиль разработки прочно впишется на долго и рад видеть не очередной форк VSCode, а IDE от…
This media is not supported in your browser
VIEW IN TELEGRAM
🔥8🥴4👎3😱2👍1
Android Good Reads
Новые метрики в Google Play Store Новые метрики касающие энергопотребления приложений. Планка качества приложений повышается. Пока что метрика в бете, но с Марта 2026 года приложение будет убрано из рекомендаций, если приложение не удовлетворяет следующему:…
Google Play раскатывает это обновление!
Внутри разбирают популярные сценарии и что с ними делать
👉 Некоторые подключаемые библиотеки могут влиять на это, увы, с этим, вы ничего не сделаете, но сможете отследить в Android Vitals
👉 Загрузка или выгрузка файлов
👉 Одноразовые или периодические операции в фоне
👉 Bluetooth соединение
👉 Location трекинг
👉 Частое снятие показаний с сенсоров (всякие гироскопы и прочее)
👉 Remote messaging не через гугловский FCM. Да-да, если у вас собственная реализация слушания ивентов - увы и ах
Внутри статьи рекомендации по тому как избежать проблем
Внутри разбирают популярные сценарии и что с ними делать
👉 Некоторые подключаемые библиотеки могут влиять на это, увы, с этим, вы ничего не сделаете, но сможете отследить в Android Vitals
👉 Загрузка или выгрузка файлов
👉 Одноразовые или периодические операции в фоне
👉 Bluetooth соединение
👉 Location трекинг
👉 Частое снятие показаний с сенсоров (всякие гироскопы и прочее)
👉 Remote messaging не через гугловский FCM. Да-да, если у вас собственная реализация слушания ивентов - увы и ах
Внутри статьи рекомендации по тому как избежать проблем
👍4😱2
Исследуем CompositionLocal API
С этим API вы уже знакомы
Внутри статьи рассказывают:
👉 Разбор внутреннего устройства: как связаны
👉 Что на самом деле создают функции
👉 Механика работы
👉 Внутренняя кухня Compose: работа с
👉 Рекомендации по оптимизации производительности и разбор типичных ошибок, которых следует избегать при использовании
С этим API вы уже знакомы
val LocalUser = compositionLocalOf { "GoodReads" }
@Composable
fun App() {
CompositionLocalProvider(LocalUser provides "AndroidGoodReads") {
UserProfile()
}
}
@Composable
fun UserProfile() {
val name = LocalUser.current
Text("Hello, $name")
}Внутри статьи рассказывают:
👉 Разбор внутреннего устройства: как связаны
CompositionLocal, ProvidableCompositionLocal и их различные вариации👉 Что на самом деле создают функции
compositionLocalOf, staticCompositionLocalOf и compositionLocalWithComputedDefaultOf, и в чем разница между результатами их работы👉 Механика работы
CompositionLocalProvider и свойства .current. Как правильно передавать локальные данные между различными композициями👉 Внутренняя кухня Compose: работа с
Value Holders, использование Persistent Maps и интеграция на уровне Composer👉 Рекомендации по оптимизации производительности и разбор типичных ошибок, которых следует избегать при использовании
CompositionLocal👍8🔥4😁1
Альфа Room 3.0 Alpha
Обновление одной из флагманских библиотек. Я всегда стараюсь использовать что-то по меньше и шустрее, типа
👉 KMP и WASM
👉 Чтобы избежать конфликтов с Room 2.x,
👉 Отказ от SupportSQLite: Библиотека теперь полностью работает на драйверах
👉 Только
👉 Coroutines First: Из-за требований веб-платформ все API стали асинхронными. Блокирующие функции в
👉 Кастомные типы возвращаемых значений: Добавлена аннотация
👉 Текущее поколение Room 2.x переходит в maintenance mode. Новые фичи добавляться не будут, планируются только исправления ошибок и обновления зависимостей до релиза стабильной Room 3.0
Обновление одной из флагманских библиотек. Я всегда стараюсь использовать что-то по меньше и шустрее, типа
sqldelight, но знаю, что этого монстра многие используют! А чо внутри то?👉 KMP и WASM
👉 Чтобы избежать конфликтов с Room 2.x,
androidx.room теперь стал androidx.room3 👉 Отказ от SupportSQLite: Библиотека теперь полностью работает на драйверах
androidx.sqlite. Для постепенного перехода предусмотрен артефакт room3-sqlite-wrapper👉 Только
Kotlin и KSP: Генерация Java-кода, а также поддержка Java Annotation Processing (AP) и KAPT полностью прекращены👉 Coroutines First: Из-за требований веб-платформ все API стали асинхронными. Блокирующие функции в
DAO больше не поддерживаются — они должны быть либо suspend, либо Flow. Наканец-та!👉 Кастомные типы возвращаемых значений: Добавлена аннотация
@DaoReturnTypeConverter. Она позволяет разработчикам создавать собственные интеграции (например, для RxJava, Paging, LiveData)👉 Текущее поколение Room 2.x переходит в maintenance mode. Новые фичи добавляться не будут, планируются только исправления ошибок и обновления зависимостей до релиза стабильной Room 3.0
Android Developers Blog
Room 3.0 - Modernizing the Room
News and insights on the Android platform, developer tools, and events.
👍9🔥3❤1
🔒 Безопасность Android-приложений: углубляемся в тему с Podlodka Android Crew
Современные Android-приложения работают с пользовательскими данными, платежами и приватным контентом. Это буквально мишень для злоумышленников всех мастей.
Иногда самая опасная уязвимость — это та строчка кода, которую написали в спешке, не задумываясь об информационной безопасности.
С 30 марта по 3 апреля пройдет новый сезон Podlodka Android Crew — это будет онлайн-конференция, полностью посвящённая безопасности мобильных приложений на Android.
💡Участники сезона разберут:
🔐С чего начинается безопасность приложения
🧩 Как UI может стать точкой взлома
👀 Как выглядит Android-приложение глазами атакующего
🧬 Где реально помогают passkeys и биометрия, а где — нет
💳 Как защищаются платежи и видеоконтент в Android-приложениях и не только — программа обновляется на сайте.
Формат — классический для Podlodka Android Crew: 5 дней, 10+ спикеров, 10 сессий и закрытое комьюнити в Telegram.
Отдельный плюс — цена: заметно ниже привычных конференций, при этом контент в этот раз ориентирован на очень глубокое и всестороннее изучение темы безопасности.
👉 Early-bird билеты на сезон Podlodka Android Crew доступны до 23 марта
Современные Android-приложения работают с пользовательскими данными, платежами и приватным контентом. Это буквально мишень для злоумышленников всех мастей.
Иногда самая опасная уязвимость — это та строчка кода, которую написали в спешке, не задумываясь об информационной безопасности.
С 30 марта по 3 апреля пройдет новый сезон Podlodka Android Crew — это будет онлайн-конференция, полностью посвящённая безопасности мобильных приложений на Android.
💡Участники сезона разберут:
🔐С чего начинается безопасность приложения
🧩 Как UI может стать точкой взлома
👀 Как выглядит Android-приложение глазами атакующего
🧬 Где реально помогают passkeys и биометрия, а где — нет
💳 Как защищаются платежи и видеоконтент в Android-приложениях и не только — программа обновляется на сайте.
Формат — классический для Podlodka Android Crew: 5 дней, 10+ спикеров, 10 сессий и закрытое комьюнити в Telegram.
Отдельный плюс — цена: заметно ниже привычных конференций, при этом контент в этот раз ориентирован на очень глубокое и всестороннее изучение темы безопасности.
👉 Early-bird билеты на сезон Podlodka Android Crew доступны до 23 марта
👍2🔥2
Боремся с лишними рекомпозициями в Compose
Если вы хоть раз пытались понять, какого черта ваш экран перерисовывается 10 раз при скролле или вводе текста, то это для вас. Подъехали сразу две годные тулзы, которые подходят к проблеме перфоманса с абсолютно разных сторон:
👉 DejaVu
Мощная библиотека, которая превращает проверки рекомпозиций в полноценные тесты
Под капотом: Это test-only решение, то есть в прод не улетит ни строчки лишнего кода. Подключается максимально просто: инициализируете правило
В чем фишка: Идеально для CI. Библиотека отслеживает счетчики для каждого инстанса отдельно и выдает аналитику. Если кто-то из команды или AI-ассистент сломает стейт, тест упадет и покажет таймлайн проблемы с диффом параметров, из-за которых случилась рекомпозиция
Github (55⭐️ ): https://github.com/himattm/dejavu
👉 Compose Rebound
Инструмент для мониторинга "бюджета рекомпозиций" прямо во время работы приложения
Под капотом: Работает на базе Kotlin Compiler Plugin. Во время компиляции плагин автоматически резолвит имена
В чем фишка: У Rebound есть шикарный плагин для IDE. Он не просто считает перерисовки, а отделяет вынужденные рекомпозиции (из-за родителя) от тех, что вызваны изменением параметров самого компонента. Помогает находить реальные спайки и аномалии, а не просто пугать вас большими цифрами в Layout Inspector
Github (37⭐️ ): https://github.com/aldefy/compose-rebound
Такое мы внедряем!
Если вы хоть раз пытались понять, какого черта ваш экран перерисовывается 10 раз при скролле или вводе текста, то это для вас. Подъехали сразу две годные тулзы, которые подходят к проблеме перфоманса с абсолютно разных сторон:
👉 DejaVu
Мощная библиотека, которая превращает проверки рекомпозиций в полноценные тесты
Под капотом: Это test-only решение, то есть в прод не улетит ни строчки лишнего кода. Подключается максимально просто: инициализируете правило
createRecompositionTrackingRule<>() в тестовом классе, вешаете стандартный Modifier.testTag() на нужный Composable и пишете ассерты на количество перерисовокВ чем фишка: Идеально для CI. Библиотека отслеживает счетчики для каждого инстанса отдельно и выдает аналитику. Если кто-то из команды или AI-ассистент сломает стейт, тест упадет и покажет таймлайн проблемы с диффом параметров, из-за которых случилась рекомпозиция
Github (55
👉 Compose Rebound
Инструмент для мониторинга "бюджета рекомпозиций" прямо во время работы приложения
Под капотом: Работает на базе Kotlin Compiler Plugin. Во время компиляции плагин автоматически резолвит имена
Composable-функций и назначает им лимиты в зависимости от роли (например, 3 рекомпозиции в секунду для экрана, 30/с для кнопок, 120/с для анимаций)В чем фишка: У Rebound есть шикарный плагин для IDE. Он не просто считает перерисовки, а отделяет вынужденные рекомпозиции (из-за родителя) от тех, что вызваны изменением параметров самого компонента. Помогает находить реальные спайки и аномалии, а не просто пугать вас большими цифрами в Layout Inspector
Github (37
Такое мы внедряем!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Вступайте в Podlodka AI Engineers Club
Если ваша основная цель на этот год – прокачаться в использовании AI в разработке, то вы не одни. Все пытаются разобраться и в том, как оптимально использовать агентов самому, и в том, а как под это дело перестроить процессы в команде. Но поставить цель легче, чем ее достичь. State-of-the-art модели, инструменты и подходы меняются каждую неделю, лучшие практики ещё не устоялись, а городские сумасшедшие либо хоронят программирование, либо пытаются нафармить просмотры за ваш счет.
Мы в Подлодке хотим помочь опытным инженерам, которые учатся работать с AI – да что там, и самим себе тоже. Поэтому в начале марта мы запустили Podlodka AI Engineers Club – закрытое сообщество для тех, кто уже пробует AI в работе и хочет делать это системно, а не на ощупь.
👉Что внутри. Каждую неделю – воркшопы и лайвкодинги с людьми, которые внедряют AI в реальных продуктах. Разбор конкретных инженерных практик: как строить своих агентов, как работать по Spec-Driven Development, как собирать комбайн, превращающий таски Jira в PRы, как масштабировать это на команду и в бигтехе, и в небольшом стартапе.
Между встречами – сеть закрытых чатов в Telegram, клубные созвоны с шарингом опыта, random coffee, совместные эксперименты с AI.
👉Кто уже в программе. Среди экспертов – инженеры из компаний разного масштаба: Степан Гончаров (xAI), Роман Елизаров (Яндекс), Андрей Бреслав (CodeSpeak), Денис Неклюдов (Google), Алексей Козятинский (Cursor) и много других крутых ребят. Полная программа на март-апрель есть на сайте.
👉А кто в клубе. Мы собрали уже 350 инженеров с медианным опытом 12 лет – российский и зарубежный бигтех, банки, стартапы. Большинство уже активно используют агентов в своей работе, поэтому обсуждаем прямо прикладные вопросы. У кого-то в компаниях AI внедряется очень активно, а кто-то работает в супер зарегулированных отраслях, где запрещено почти все – так что мы собираем весь спектр проблем.
👉Как попасть. Клуб платный, вход через список ожидания с отбором – нам интересно сделать сообщество именно для опытных разработчиков – людей, которые большую часть своей карьеры писали код, решали технические задачи, принимали архитектурные решения, и жили с их последствиями. Мы набираем участников постепенно – нам важно сохранить атмосферу, в которой можно открыто делиться опытом и проблемами.
Подробности, расписание и заявка – на сайте. А если есть какие-то конкретные вопросы, пишите прямо в личку @etolstoy!
Если ваша основная цель на этот год – прокачаться в использовании AI в разработке, то вы не одни. Все пытаются разобраться и в том, как оптимально использовать агентов самому, и в том, а как под это дело перестроить процессы в команде. Но поставить цель легче, чем ее достичь. State-of-the-art модели, инструменты и подходы меняются каждую неделю, лучшие практики ещё не устоялись, а городские сумасшедшие либо хоронят программирование, либо пытаются нафармить просмотры за ваш счет.
Мы в Подлодке хотим помочь опытным инженерам, которые учатся работать с AI – да что там, и самим себе тоже. Поэтому в начале марта мы запустили Podlodka AI Engineers Club – закрытое сообщество для тех, кто уже пробует AI в работе и хочет делать это системно, а не на ощупь.
👉Что внутри. Каждую неделю – воркшопы и лайвкодинги с людьми, которые внедряют AI в реальных продуктах. Разбор конкретных инженерных практик: как строить своих агентов, как работать по Spec-Driven Development, как собирать комбайн, превращающий таски Jira в PRы, как масштабировать это на команду и в бигтехе, и в небольшом стартапе.
Между встречами – сеть закрытых чатов в Telegram, клубные созвоны с шарингом опыта, random coffee, совместные эксперименты с AI.
👉Кто уже в программе. Среди экспертов – инженеры из компаний разного масштаба: Степан Гончаров (xAI), Роман Елизаров (Яндекс), Андрей Бреслав (CodeSpeak), Денис Неклюдов (Google), Алексей Козятинский (Cursor) и много других крутых ребят. Полная программа на март-апрель есть на сайте.
👉А кто в клубе. Мы собрали уже 350 инженеров с медианным опытом 12 лет – российский и зарубежный бигтех, банки, стартапы. Большинство уже активно используют агентов в своей работе, поэтому обсуждаем прямо прикладные вопросы. У кого-то в компаниях AI внедряется очень активно, а кто-то работает в супер зарегулированных отраслях, где запрещено почти все – так что мы собираем весь спектр проблем.
👉Как попасть. Клуб платный, вход через список ожидания с отбором – нам интересно сделать сообщество именно для опытных разработчиков – людей, которые большую часть своей карьеры писали код, решали технические задачи, принимали архитектурные решения, и жили с их последствиями. Мы набираем участников постепенно – нам важно сохранить атмосферу, в которой можно открыто делиться опытом и проблемами.
Подробности, расписание и заявка – на сайте. А если есть какие-то конкретные вопросы, пишите прямо в личку @etolstoy!
Podlodka AI Engineers Club
Учимся применять AI и внедрять его в команды. Еженедельные сессии с экспертами и живое сообщество от создателей подкаста Подлодка.
🤣5😎4❤3👍3
Android Good Reads
Петиция KeepAndroidOpen В августе 2025 года Google объявила, что начиная с сентября 2026 года разрабатывать приложения для платформы Android будет невозможно без предварительной централизованной регистрации в Google. Эта регистрация будет включать: 👉 Оплату…
А вот и ответ GooglePlay на петицию - разрешат ставить приложения в обход, но с ограничениями
😐16😡7👍4
Делаем жизнь пользователя проще и выводим в топ свои Android-приложения: 26 марта hh.ru проведёт митап по Android-разработке
В программе доклады от экспертов:
• Константин Дубинко (hh.ru) поделится опытом ухода от навигации на базе Fragment и Cicerone в сторону чистого Compose при помощи навигационной библиотеки Modo.
• Денис Конопелькин (Циан) расскажет, как ускорить проверки в Android‑проекте с помощью Impact‑анализа.
• Максим Качинкин (Dodo Engineering) разберет, как проектировать ИИ-фичи в мобильном приложении, когда ИИ живет не на бэкенде, а на клиенте.
Подписывайся на канал Охэхэнные новости и регистрируйся на митап. Встречаемся 26 марта!
В программе доклады от экспертов:
• Константин Дубинко (hh.ru) поделится опытом ухода от навигации на базе Fragment и Cicerone в сторону чистого Compose при помощи навигационной библиотеки Modo.
• Денис Конопелькин (Циан) расскажет, как ускорить проверки в Android‑проекте с помощью Impact‑анализа.
• Максим Качинкин (Dodo Engineering) разберет, как проектировать ИИ-фичи в мобильном приложении, когда ИИ живет не на бэкенде, а на клиенте.
Подписывайся на канал Охэхэнные новости и регистрируйся на митап. Встречаемся 26 марта!
❤3👍3😁3💅2
Android Good Reads
Итак, вопрос с собеседования! Чем отличается Dispatchers.Main от Dispatchers.Main.immediate Внутри разбирают с картинками: 👉 А что если продьюсить на Main, а консьюмить на immediate. И вообще перебрать всевозможные комбинации? 👉 А зачем выбирать immediate?…
Coroutine Dispatcher in Android: Полный гайд
Очередной полный гайд о том как надо и как не надо и в каких ситуациях. Можно кидаться им в тех, кто в вашем окружении сует везде
Офф дока в догонку: https://kotlinlang.org/docs/coroutine-context-and-dispatchers.html
Очередной полный гайд о том как надо и как не надо и в каких ситуациях. Можно кидаться им в тех, кто в вашем окружении сует везде
withContext(Dispatchers.IO) и потом внутри withContext(Dispatchers.Main)Офф дока в догонку: https://kotlinlang.org/docs/coroutine-context-and-dispatchers.html
🔥10👍5❤2
Немножко накинул на вентилятор про современное состояние AI
@androidraft
@androidraft
Forwarded from Антоха Разраб про AI
AI не сделает вас богатым, а исправление ошибок в AI slopware сделает
Ради интереса попросили топовые LLM (Claude, ChatGPT, Gemini) написать простейшую апку: стянуть данные из трех API и обработать. Итог? Все три выдали последовательные вызовы без какого-либо кэширования. Зато с красивыми комментариями и претензией на production-ready
О чем это говорит:
👉 ИИ плодит спагетти-код. Это уровень ленивого студента. Внешне выглядит чисто, но на деле страница рендерится минуту, как на диалапе в 1995-м
👉 У LLM нет инженерной интуиции. Они не понимают вычислительную сложность, алгоритмы и причины, по которым архитектура ляжет уже при 100 юзерах
👉 Бизнес копит самый дорогой техдолг в истории. Компании, поверившие в AI-first, скоро столкнутся с дикими тормозами и космическими счетами за инфраструктуру. А их «10х-инженеры» с нейросетями по факту окажутся 0.5х-инженерами
Что в итоге:
Пока инфоцыгане продают курсы по «правильному промптингу», качайте фундаментальные навыки
На рынке может появится гигантский спрос на «спасательные операции». Сеньоры, понимающие базу (кэширование, асинхронность, масштабируемость), будут грести бабки лопатой просто за то, чтобы разгребать этот сгенерированный мусор и чинить то, что сломали роботы
Пост о статье писал в рамках упражнения Dissoi logoi, ибо я слишком верю в революцию ИИ
Ради интереса попросили топовые LLM (Claude, ChatGPT, Gemini) написать простейшую апку: стянуть данные из трех API и обработать. Итог? Все три выдали последовательные вызовы без какого-либо кэширования. Зато с красивыми комментариями и претензией на production-ready
О чем это говорит:
👉 ИИ плодит спагетти-код. Это уровень ленивого студента. Внешне выглядит чисто, но на деле страница рендерится минуту, как на диалапе в 1995-м
👉 У LLM нет инженерной интуиции. Они не понимают вычислительную сложность, алгоритмы и причины, по которым архитектура ляжет уже при 100 юзерах
👉 Бизнес копит самый дорогой техдолг в истории. Компании, поверившие в AI-first, скоро столкнутся с дикими тормозами и космическими счетами за инфраструктуру. А их «10х-инженеры» с нейросетями по факту окажутся 0.5х-инженерами
Что в итоге:
Пока инфоцыгане продают курсы по «правильному промптингу», качайте фундаментальные навыки
На рынке может появится гигантский спрос на «спасательные операции». Сеньоры, понимающие базу (кэширование, асинхронность, масштабируемость), будут грести бабки лопатой просто за то, чтобы разгребать этот сгенерированный мусор и чинить то, что сломали роботы
Пост о статье писал в рамках упражнения Dissoi logoi, ибо я слишком верю в революцию ИИ
😁14🤨5❤3🤔1🤣1
Android Good Reads
HotReload теперь доступен тем, кто работает с Compose Если вы скучаете по заброшенному и сломанному instant run, или немного завидовали друзьям с Flutter и React Native, которые обновляют UI во время разработки моментально - то теперь и вы так же можете делать…
This media is not supported in your browser
VIEW IN TELEGRAM
HotSwan - Android hot reload for Jetpack Compose
Теперь чисто под Android нативный таргет. Установка простая в app модуль через плагин. Пробуем!
На гифку надо кликнуть, чтоб открылась в хорошем качестве
Теперь чисто под Android нативный таргет. Установка простая в app модуль через плагин. Пробуем!
Либа JB под JVM таргет специфична (только KMP проект)
HotSwan под Android таргет (и в KMP проекте тоже)
На гифку надо кликнуть, чтоб открылась в хорошем качестве
❤5👍4🔥2