es
Feedback
Mobile Developer

Mobile Developer

Ir al canal en Telegram
9 274
Suscriptores
Sin datos24 horas
+37 días
+1030 días
Archivo de publicaciones
deep tech night: конференция о технологических вызовах в эпоху AI 5 сентября Яндекс проведёт онлайн-событие, посвященное тому
deep tech night: конференция о технологических вызовах в эпоху AI 5 сентября Яндекс проведёт онлайн-событие, посвященное тому, как искусственный интеллект трансформирует продуктовую разработку, процессы и инфраструктуру. В программе: 👉  Мо Гавдат (ex-Chief Business Officer Google X) затронет тему будущего индустрии после текущей волны AI, а также влияние новых моделей на разработку, функции инженеров и структуру команд.  👉 Данила Ваганов (Positive Technologies) расскажет, как выстроить полноценный MLOps-контур без доступа к данным в условиях On‑Premise и Zero‑Data‑Access. Отдельный блок посвятят технологической экспертизе Яндекса. Инженеры разберут подходы к решению задач, возникающих при разработке сложных систем машинного обучения и развитии инфраструктуры: 👉 Павел Капля, руководитель продуктовой разработки Алисы, покажет, как создаются агентские продукты в Алисе и что нужно, чтобы превратить генеративного агента в массовый продукт.   👉 Василий Ершов, руководитель AI Studio Tech Yandex Cloud, разберет, как облачная платформа собирает долгоживущую сессию агента из короткоживущих мультитенантных частей. Онлайн‑участники увидят технические доклады и смогут задать вопросы экспертам в Q&A. После события появятся записи уже всех выступлений: первыми их увидят зарегистрированные участники. Для офлайна все детали на сайте. Подробности и регистрация

Руслан Карманов: Китай обгоняет всех в ИИ? / ЧТУК Youtube VK Video Интернет больше не выглядит единым пространством. Он распа
Руслан Карманов: Китай обгоняет всех в ИИ? / ЧТУК Youtube VK Video Интернет больше не выглядит единым пространством. Он распадается на зоны с разными правилами и взаимными блокировками, причем не только в России. А санкции, разрывы в поставках и дефицит комплектующих делают уязвимой и инфраструктуру Обсудили с Русланом что происходит уже сейчас и к чему мы можем прийти в сфере айти в скором будущем Приятного просмотра!

🧑‍💻 Кодит в восемь рук xAI продвигает Grok Build - открытый терминальный ИИ-агент на Rust: он сначала строит план, а затем может параллельно запускать до восьми субагентов в отдельных Git-worktree. 📱 Инструмент умеет работать в интерактивном и headless-режимах для CI/CD, а Grok 4.6 добавляет ему контекст до 500 000 токенов и фокус на долгих агентных задачах. 😏 Теперь он доступен также в вебе и мобильных приложениях: опишите игру, сайт или дашборд - ИИ соберёт прототип, который можно опубликовать на grok.me, выгрузить на GitHub или доработать с API. GitHub Маскный ответ Claude Code и Codex) YouTube | VkVideo | Telegram

📦 Firebase Android BoM 34.18.0 [update] https://firebase.google.com/support/release-notes/android#bom_v34-18-0 Что нового: �
+2
📦 Firebase Android BoM 34.18.0 [update] https://firebase.google.com/support/release-notes/android#bom_v34-18-0 Что нового: 📌 Firebase AI Logic 17.16.0: • Добавили поддержку on-device structured output через generateObject • Breaking change: убрали депрекейтнутые методы и типы Imagen - модели Imagen отключают в августе 2026, миграция на Gemini Image models ("Nano Banana") • Роль "function" в conversational role заменили на "user" для function response контента 📌 Firebase AI Logic On-Device 16.0.0-beta05 — тот же generateObject для structured output прямо на устройстве. 📌 Cloud Firestore 26.6.0: • Поддержка получения документов до 16MB через gRPC • Увеличили gRPC max inbound message size до 17MB 📌 Cloud Messaging 25.1.2 - фикс ошибки регистрации FCM из-за FID_ALREADY_USED. 📌 Crashlytics Gradle plugin 3.0.8: • Починили несовместимость с Gradle isolated projects при включённом nativeSymbolUploadEnabled • Пофиксили утечку orphaned-файлов при сетевых сбоях во время загрузки символов 📌 SQL Connect 17.4.0: • gRPC-заголовки с именем платформы и версией SDK для метрик в Cloud Monitoring • Заголовок для server affinity - экономит ресурсы сервера • Realtime-соединение теперь ждёт 15 секунд перед закрытием после отписки последнего подписчика, вместо мгновенного разрыва —————— 💭 Главный интерес здесь — on-device generateObject: это часть общего тренда переноса AI-инференса на устройство для снижения латентности и стоимости. Если используете Firebase AI Logic для structured output, стоит присмотретьс . А лимит в 16 МБ на документы Firestore - приятное послабление для тех, кто упирался в старый предел. Полезно будет тем, кто следит за версиями Firebase в проекте. YouTube | VkVideo | Telegram

Собираем бэкенд-комьюнити на JVM Day Бэкендеры, 29 августа в Москве пройдет конференция, где соберутся Java-, Scala- и Kotlin-разработчики, архитекторы и тимлиды. На конференции разберут: 🔴Актуальные тренды JVM — Loom, конкурентность, автоматизацию миграций и связанные ограничения 🔴Реальные кейсы внедрения с разбором ошибок, которые мешают довести прототип до production‑уровня 🔴Подходы к конкурентности в Java после Loom 🔴То, как новые возможности JVM влияют на архитектуру бэкенд‑систем Будет зона с решениями разных компаний, где участники смогут обсудить опыт использования продуктов напрямую с разработкой. А вечером во дворе T-Space все соберутся за большим столом, будут игры на Sega, xxxl-кикер и открытый микрофон с историями ошибок. Успевай зарегистрироваться

Аврора-приложение за 1 день Youtube Youtube Youtube Мобильные ОС умирали одинаково: нет приложений → нет юзеров → нет разработчиков → нет приложений. Замкнутый круг, который не осилил даже Microsoft Я взял Android-приложение на Flutter и портировал его на ОС Аврора за один день — с помощью ИИ. И понял: барьер, который десятилетиями убивал новые операционки, только что рухнул 👉 почему пустая экосистема — это приговор 👉 что именно изменил ИИ 👉 полный разбор, как я портировал шаг за шагом — включая места, где ИИ реально вытащил, и где встал намертво

🧠 Лимиты памяти для приложений расширяются на все классы устройств https://android-developers.googleblog.com/2026/08/app-bro
🧠 Лимиты памяти для приложений расширяются на все классы устройств https://android-developers.googleblog.com/2026/08/app-broader-memory-limits.html В Android 17 появились per-app лимиты памяти, сначала на Pixel-устройствах. В течение года всё больше производителей начнут применять их на устройствах с 4GB–16GB+ RAM. Причина - новые устройства не наращивают физическую память из-за роста цен на неё, а пользователи по-прежнему ждут той же плавности. 🤨 Что происходит, если приложение превышает лимит:
1) Система выдавливает страницы приложения в zRAM (сжатую память). Сжатие и распаковка нагружают CPU - отсюда заметный джанк 2) Если память продолжает расти дальше zRAM-порога - приложение принудительно завершают
Проверить, что сессию убил именно лимитер, можно через ApplicationExitInfo.getDescription() - при срабатывании причина выхода будет REASON_OTHER со строкой «MemoryLimiter:AnonSwap». Также можно настроить TRIGGER_TYPE_ANOMALY в trigger-based profiling для автоматического сбора heap dump при достижении лимита. 🧑‍💻 Инструменты для мониторинга:
Android vitals в Play Console - Memory Usage (Anonymous RSS + swap) и Bitmap Memory Usage для популяционной видимости без доп. оверхеда • Firebase Crashlytics 20.1.0 - новые debug-данные для отлова OOM-исключений и убийств от memory limiter'а • ProfilingManager (API 35+) - программный сбор heap dump'ов и профилей прямо с продакшен-устройств, с триггерами TRIGGER_TYPE_OOM и TRIGGER_TYPE_ANOMALY
—————— 💭 Самое время проаудировать память заранее, а не после первых жалоб. Скинь кор-разработчикам или кто у вас отвечает за перфоманс. Telegram | Селеба | YouTube

⛔️ Установка APK - с паузой Google постепенно внедряет Advanced Flow: для установки APK от неверифицированного разработчика п
+2
⛔️ Установка APK - с паузой Google постепенно внедряет Advanced Flow: для установки APK от неверифицированного разработчика придётся включить специальный режим, перезагрузить устройство и выдержать 24-часовую паузу. ✅ Приложения от подтверждённых авторов - включая распространяемые вне Google Play - под это ограничение не попадут. Первые "проверки" стартуют 30 сентября 2026 года в Бразилии, Индонезии, Сингапуре и Таиланде, а глобальное развёртывание намечено на 2027-й. Так Google пытается сорвать схемы, где мошенники под давлением заставляют срочно установить вредоносный APK... или у них какой-то другой коварный план?) YouTube | VkVideo | Telegram

🧪 Тестируем Android App Functions до открытия для Gemini https://proandroiddev.com/ai-meet-app-testing-android-app-functions
+3
🧪 Тестируем Android App Functions до открытия для Gemini https://proandroiddev.com/ai-meet-app-testing-android-app-functions-5ba289736c59
App Functions (Android MCP) превращает приложение в on-device поставщика данных для AI-агентов - вместо общего веб-поиска Gemini может напрямую спросить твоё приложение и получить персонализированный ответ.
Автор разбирает практическую сложность: сам API уже открыт и его можно внедрять и тестировать локально через ADB прямо сейчас, но именно интеграция с реальным Gemini на устройстве пока в приватном превью с ограниченным числом тестеров. 🧑‍💻 Разработчик показывает, как проверять функции через ADB-команды до того, как агент сможет вызвать их сам, и почему уже сегодня стоит оттачивать KDoc - именно его читает модель, а не разработчик. В статье - практический setup и совет не писать интеграцию с нуля: есть готовый AppFunctions skill, который сам генерит Kotlin-код и метаданные под весь жизненный цикл фичи. —————— 💭 Пока Gemini-доступ закрыт, это шанс подготовить и обкатать функции заранее. Интересно будет тому, кто следит за AppFunctions. Telegram | Селеба | YouTube

Купи Modern Android Warrior и получи AI Advent Challenge #9 бесплатно https://mobiledeveloper.tech/promo_maw_aiac9 Осенью ста
Купи Modern Android Warrior и получи AI Advent Challenge #9 бесплатно https://mobiledeveloper.tech/promo_maw_aiac9 Осенью стартуют новые проекты, пересматриваются грейды и открываются вакансии. Сейчас самое время усилить базу и навыки работы с ИИ, чтобы не пропустить свой шанс 👉 Курс Modern Android Warrior - помогает пересмотреть подходы к написанию кода, перестать мыслить в рамках хороших/плохих решений и узнать за что компании готовы повысить грейд и апнуть зп 👉 Доступ к AI Advent Challenge #9 - помогает эффективнее работать с ИИ, выстроить туллинг и собрать собственный пайплайн за 7 недель. Стартует 31 августа Важно! Предложение действует по 31 августа включительно Все вместе стоит 100 тысяч рублей

Claude in Mobile теперь MCP Devices [4.0.0] https://github.com/AlexGladkov/claude-in-mobile/releases/tag/v4.0.0 Большой релиз Claude in Mobile (поэтому версия 4.0.0). В общем, было несколько претензий по поводу того, что а) слишком много всего в одном модуле б) не очень понятно какой функционал есть. Плюс мне хотелось дальше расширять инструментарий различными дополнениями, но, опять же понимаю, что не всем это возможно нужно Поэтому в версии 4.0.0 👉 Весь функционал разбит на модули и каждый из них можно ставить по отдельности (основной функционал в ядре) 👉 Для каждого модуля написана своя документация 👉 Для обратной совместимости можно также пользоваться claude-in-mobile, просто там все будет в одном 👉 Добавил инструментарий для дебага андроида (со временем расшириться на iOS) 👉 Подготовлена плагинная архитектура, так что если есть желание что-то расширить - отправляйте pull requests В общем жду от вас ваши issues и stars

🧠 Cursor IDE - Origin Code Hosting (Beta) https://cursor.com/changelog/origin-code-hosting Cursor запустил Origin - встроенный сервис хостинга кода (в раннем beta для всех платных планов), позволяющий хранить репозитории, пул-реквесты и просматривать код прямо внутри IDE с синхронизацией GitHub. 📌 Origin Code Hosting Cursor добавил собственный хостинг репозиториев и pull request'ов - теперь весь цикл работы с кодом (хранение, PR, ревью) можно вести прямо внутри IDE, не переключаясь на GitHub. 📌 Синхронизация с GitHub Origin синхронизируется с существующими GitHub-репозиториями, так что переход не требует отказа от привычной инфраструктуры - можно постепенно опробовать новый флоу. 📌 Новая вкладка Codebase В интерфейсе появилась отдельная вкладка Codebase - точка входа в репозитории Origin, откуда удобно переключаться между проектами и PR. —————— 💭 Origin - это шаг Cursor в сторону полноценной платформы разработки, а не просто редактора с AI. Для команд, которые уже плотно работают в Cursor, это может сократить количество переключений между инструментами при ревью и работе с PR. И что, GitHub становится не таким нужным?) Telegram | Селеба | YouTube

🩺 Stack trace показывает где умерло, но не почему https://medium.com/@shivathapaa/your-stack-trace-says-where-it-died-it-won
🩺 Stack trace показывает где умерло, но не почему https://medium.com/@shivathapaa/your-stack-trace-says-where-it-died-it-wont-say-why-a09d067f2a75 Автор строит единый observability-пайплайн для KMP-приложения - логи, крэши и перформанс-трейсинг не как три разрозненных SDK, а как один поток данных с разными точками выхода. ☝️ Главная мысль — логирование и крэш-репортинг не две отдельные системы, а один pipeline с несколькими синками: одна и та же запись лога попадает и в Logcat для разработчика, и в крэш-бэкенд как breadcrumb или как non-fatal, в зависимости от уровня серьёзности. В статье разбирается, почему сама телеметрия обязана падать молча и не тянуть за собой приложение, где правильно место для редакции секретов, почему не всякое исключение стоит алерта, и как приватность закладывается в саму структуру данных, а не остаётся правилом на код-ревью. 👨‍💻 Отдельный большой раздел - про границу между commonMain и платформенными SDK: как передавать данные через cinterop-стену, не протаскивая типы SDK в общий код, и как аккуратно развести зависимости между модулем логирования и модулем крэшей. —————— 💭 Один из самых системных разборов observability для мультиплатформенного приложения, с честными оговорками про компромиссы. Скинь тому, кто строит логирование и крэш-репортинг в KMP. Telegram | Селеба | YouTube

🎯 Матрица снапшот-тестов: parameterized JUnit vs TestBalloon https://freedium-mirror.cfd/https://emartynov.medium.com/the-sn
🎯 Матрица снапшот-тестов: parameterized JUnit vs TestBalloon https://freedium-mirror.cfd/https://emartynov.medium.com/the-snapshot-test-matrix-two-ways-parameterized-junit-vs-testballoon-d4015c495efc 27 состояний экрана × 5 конфигураций (baseline, тёмная тема, самая длинная локаль, планшет, увеличенный шрифт) = 135 golden-картинок. Автор показывает два способа сгенерировать эту матрицу тестов на одном и том же стеке - Roborazzi на Robolectric. 🛤🛣Первый - устоявшийся путь через ParameterizedRobolectricTestRunner. Второй - DSL на TestBalloon, где сьют это просто Kotlin-выражение, а не аннотации, и матрица собирается обычным циклом. В статье - рабочий код обоих подходов, чем композиция в TestBalloon отличается от «переговоров с фреймворком» в JUnit, и честная ложка дёгтя в конце - баг в текущем публичном релизе TestBalloon, из-за которого автор сидит на экспериментальной ветке. —————— 💭 Хороший практический разбор двух моделей тестирования на реальной задаче. Полезно тем, кто пишет snapshot-тесты на Compose. Telegram | Селеба | YouTube

OpenMattermost (Аврора) в RuStore Итак, это пятая и заключительная часть моего приключения по переносу приложеньки из Реакт Н
+5
OpenMattermost (Аврора) в RuStore Итак, это пятая и заключительная часть моего приключения по переносу приложеньки из Реакт Натива (смешанного со всяким) в Аврора Flutter приложение. Приключение получилось забавным и не сказать, что очень сложным, поэтому теперь, я надеюсь, что это попробуют и остальные инженеры, но прежде, чем перейти к выводам, я хотел бы рассказать про релиз В общем и целом, релиз в RuStore оказался реально простым для Авроры и тут ребята постарались. Вам нужно будет 1. Залогиниться (это легко) 2. Получить специальный сертификат разработчика под Аврору (им будут подписаны приложения) 3. Залить два вида файлов под 32х-битную и под 64х-битную архитектуру 4. Заполнить описания, скриншоты и тд (обязательно предоставьте тестовые данные, если у вас есть логин, меня первый раз завернули именно за это) 5. Пройти модерацию и хопа, вы уже в релизе! Собственно, я все это проделал и теперь вы можете видеть мое приложение вот на картинках, ну или скачать по ссылкам ниже. Для именно Аврора пути у Рустора мне кажется не хватает еще немного тестирования, видимо крайне редко этим путем пользуются, но в целом все отработало на 95%. Я думаю, что чем больше вы будете засылать свои приложения, пользуясь путем, который я описал, тем лучше этот путь будет работать У меня еще уточняли данные по ИНН, прежде чем выдать мне сертификат. Ну и я уже получил некоторый фидбэк по приложению от первых скачавших. Если вкратце, то мелкие косячки есть, но, в целом, ничего критичного, так что я думаю, что эксперимент можно признать состоявшимся В этом мире очень много сервисов с открытым API, поэтому вы можете уже сегодня дать экосистеме Авроры много отличных приложений без особых вложений с вашей стороны (сегодня нейронка есть уже у всех вообще, а токены часто жгутся на какую-то фигню). Тут вы можете сделать вклад в развитие нашей экосистемы Безусловно есть над чем еще работать, но первый шаг сделан, думаю, что нейронки сильно изменят подход к новым ОС, но об этом вы уже увидите в моем видео! P.S. К сожалению, у RuStore нет веб-админки для приложений на Авроре, поэтому вы можете это увидеть только если у вас есть телефон на ОС Аврора (ну либо наслаждаться картинками) P.P.S. Все полезные ссылки (дублирую github и mos.hub) Агент для Авроры - mos.hub | github Исходники приложения + релизы - mos.hub | github Автоматизация тестирования на мобилке - mos.hub | github #aurora

🧑‍💻 Claude Code для мобильной разработки - сетап одной команды https://freedium-mirror.cfd/https://levelup.gitconnected.com
🧑‍💻 Claude Code для мобильной разработки - сетап одной команды https://freedium-mirror.cfd/https://levelup.gitconnected.com/claude-code-for-mobile-developers-d464d87fbf15 Автор разбирает, как в своей команде настроили Claude Code под iOS/Android-кодовые базы - от выбора между подпиской и API до конкретных плагинов и конфигов, которые реально дают эффект на мобильном проекте. ☝️В статье — практическое правило по выбору модели под задачу (архитектура vs рутина), как собрать CLAUDE.md так, чтобы он не жрал контекст впустую, разница между skills/plugins/MCP и конкретные рекомендации под мобильную разработку. 🔒 Отдельный и самый ценный блок — про безопасность плагинов: разбор популярного Superpowers и предупреждающая история с другим фреймворком, где вскрылись реальные проблемы с доверием. Плюс задокументированные атаки на экосистему плагинов Claude Code и практическая гигиена, как от них защититься. —————— 💭 Интересный разбор сетапа Claude Code под мобильную разработку, с реальными деталями про безопасность. Думаю, всем будет полезно и что-то можно взять для себя. Пишите в комментарии свои советы) Telegram | Селеба | YouTube

🐤 Android 18 Canary — три API, которые можно попробовать уже сейчас https://freedium-mirror.cfd/https://medium.com/@androidl
🐤 Android 18 Canary — три API, которые можно попробовать уже сейчас https://freedium-mirror.cfd/https://medium.com/@androidlab/android-18-canary-preview-the-new-apis-every-android-developer-should-try-now-7a889aa14a8a Автор обращает внимание на то, что Google, по его словам, отказался от прежней модели Developer Preview в пользу непрерывных ежемесячных Canary-сборок - пропустил билд, пропустил API. 3️⃣ Три вещи из свежих канареек, которые он выделяет: 1. AppFunctions (Android MCP) - приложение само становится on-device MCP-сервером. Gemini или любой другой агент вызывает функции приложения через чёткий интерфейс вместо скрейпинга UI:

@AppFunction(description = "Add an item to the user's grocery list")
suspend fun addGroceryItem(
    itemName: String,
    quantity: Int = 1
): AppFunctionResult {
    val entry = GroceryEntry(name = itemName, qty = quantity)
    groceryRepository.insert(entry)
    return AppFunctionResult.success("Added $itemName x$quantity")
}
2. Hybrid Inference в Firebase AI Logic - динамическая маршрутизация между on-device и облаком вместо выбора на этапе сборки: PREFER_ON_DEVICE, PREFER_CLOUD, ONLY_ON_DEVICE.

val config = InferenceConfig.Builder()
    .setOrchestrationMode(OrchestrationMode.PREFER_ON_DEVICE)
    .build()
3. Zero-config peer-to-peer сеть эмуляторов для мультидевайс-тестирования без ручного проброса портов, и ADB Wi-Fi 2.0, который не рвётся при смене сети или сне машины. —————— 💭 Эти API уже в SDK Manager - может быть что-то полезно). Telegram | Селеба | YouTube

Пока просто порадуюсь, что мой первый личный релиз приложения состоялся на Авроре и в RuStore А завтра еще и пост вам накатаю
Пока просто порадуюсь, что мой первый личный релиз приложения состоялся на Авроре и в RuStore А завтра еще и пост вам накатаю как это было

🚀 Jetpack Compose 1.12.0 [update] https://android-developers.googleblog.com/2026/08/jetpack-compose-august-2026-release.html
+3
🚀 Jetpack Compose 1.12.0 [update] https://android-developers.googleblog.com/2026/08/jetpack-compose-august-2026-release.html Google выпустил стабильный Jetpack Compose 1.12.0 - релиз с крупным набором новых возможностей: mesh-градиенты, HDR/Wide Color Gamut, ускоренные `SideEffect, продакшен-готовые deferred-анимации, программное форматирование текста и интеграция с Credential Manager. 🟢 Mesh Gradients Новый MeshGradientPainter позволяет строить многоточечные органические цветовые градиенты. Вершины сетки задаются через setVertex() с координатами строки/столбца и смещением позиции. 🟢 Wide Color Gamut и HDR Полный пайплайн рендеринга теперь поддерживает Display P3 и HDR без клэмпинга цветов вне sRGB-пространства. На устройствах без поддержки (и на API ниже 28) цвета автоматически и безопасно откатываются к sRGB. 🟢 LayerOutsets Новый параметр LayerOutsets в GraphicsLayer и Modifier.graphicsLayer расширяет визуальные границы слоя за пределы измеренного размера - полезно для теней, свечения и других эффектов, которые раньше обрезались неявным clipToBounds. 🟢 SideEffect с ключами SideEffect теперь поддерживает key-аргументы для одноразовых эффектов, срабатывающих только при изменении конкретных ключей. По бенчмаркам команды Compose - до 90% быстрее LaunchedEffect и примерно на 20% быстрее DisposableEffect.

SideEffect(key = userId) {
    analytics.logUserChanged(userId)
}
🟢 Deferred-анимации перешли в стабильный статус DeferredTargetAnimation вышел из experimental. Добавлены DeferredAnimatedContent и DeferredAnimatedVisibility - composable для gesture-driven анимаций с плавной передачей в автоматический переход, ручным управлением свойствами на deferred-фазе и передачей velocity. Для shared element transitions добавлен флаг permitTransformDuringDeferredTransition. 🟢 Rich-text редактирование и Selection API BasicTextField научился программному rich-text форматированию через SpanStyle`/`ParagraphStyle и addStyle() в TextFieldBuffer, с методами getSpanStyles() и getParagraphStyles() - форматирование сохраняется при смене конфигурации. Новый SelectionState даёт программный контроль над выделением: selectAll(), clear(), select(TextRange), extendSelectionByWord(), а также реактивный selectedTexts в виде AnnotatedStrings. 🟢 Credential Manager в семантике Нативная интеграция с Android Credential Manager (API 34+) через credentialRequest semantics property и CredentialRequestData - passkey и сохранённые учётные данные можно запрашивать прямо из Compose-дерева без ручного моста к View-based API. 🟢 Именованные области в Grid @Experimental Grid-компонент получил семантическое определение регионов через area() в GridConfigurationScope. Элементы позиционируются через gridItem(areaId = "name") вместо числовых индексов — читаемее для сложных адаптивных раскладок. 🟢 Дополнительные улучшения:
• Font variation settings для downloadable fonts • Автопрокрутка при выделении текста за пределами видимой области • `SoundEffectOnInteraction` composable для звуков взаимодействия • Новые `KeyboardType`: `Date`, `Time`, `DateTime`, `SignedDecimal` • `BasicSecureTextField` теперь по умолчанию использует `TextObfuscationMode.System` • Новые тестовые API: `hasPendingWork()` (проверка pending work без продвижения часов) и `runWithoutImplicitWait()` (ручное управление кадрами clock) • `captureToImage()` теперь захватывает popups/dialogs с якорями (anchors) • `onRootWithViewInteraction` скоупит поиск на конкретные Android View • `@PreviewWrapper` - переиспользуемые обёртки для `@MultiPreview`-классов • Time to Initial Display приближается к показателям View-based реализаций
❗️Главное, на что стоит обратить внимание при апгрейде - требование compileSdk 37 и AGP 9.2.0. Более подробно и с примерами - тут —————— 💭 Сразу несколько направлений получили заметный апгрейд. Особенно выделяются два изменения с прямым влиянием уже сейчас: keyed `SideEffect` (реальный performance-выигрыш почти без переписывания логики) и HDR/Wide Color Gamut пайплайн (актуально для медиа- и фото-приложений). Telegram | Селеба | YouTube