Mobile Developer
8.97K subscribers
1.61K photos
159 videos
5 files
2.26K links
Download Telegram
🛠 Claude Skill для миграции XML → Compose
https://proandroiddev.com/building-a-claude-skill-xml-to-jetpack-compose-converter-bc4b68268499

Автор устал от inconsistent конверсий Claude: Material 2 вместо 3, неправильный порядок модификаторов, пропущенные атрибуты. Решил научить Claude делать правильно.

✍️ Что такое Claude Skills?
Инструкции, которые Claude загружает для domain-specific задач. Документируешь паттерны один раз
- Claude следует им всегда.


Структура:
xml-to-compose/
├── SKILL.md # Ядро правил
├── references/ # Маппинги (подгружаются по требованию)
└── assets/examples/

Внутри скилла:
→ Маппинги 20+ виджетов (TextView → Text, RecyclerView → LazyColumn)
→ Правила конверсии атрибутов (margin → Spacer, visibility → if)
→ Порядок модификаторов - где Claude чаще всего лажает
——————

💭 Полезно, если мигрируешь легаси и хочешь меньше поправлять за AI. Или скинь тому, кто постоянно жалуется на качество AI-конверсий.
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥7🐳2
🚀 Android Studio Panda 1 (2025.3.1) stable
https://developer.android.com/studio/releases

Вышла стабильная версия Android Studio Panda 1 (2025.3.1) с упрощённым управлением JDK через Gradle Daemon JVM Criteria и новыми экспериментальными AI-функциями в Studio Labs.

👉 Упрощённое управление JDK с помощью Gradle Daemon JVM Criteria
Gradle теперь автоматически определяет совместимый JDK для вашего проекта или загружает необходимую версию, если она не найдена локально. Функция стабилизирована в Gradle 9.2.0 и включена по умолчанию для новых проектов.

Как включить для существующих проектов:
Настройки доступны в Settings > Build, Execution, Deployment > Build Tools > Gradle

👉 Studio Labs - экспериментальные AI-функции
Доступны новые AI-возможности в стабильной версии Android Studio:

Создание Compose Preview - Gemini автоматически генерирует предварительные просмотры Compose, включая фиктивные данные для параметров, для конкретного или всех компонентов в файле.

Трансформация UI - обновление пользовательского интерфейса приложения на естественном языке прямо из панели предварительного просмотра Compose.

Journeys for Android Studio - описание шагов и утверждений для end-to-end тестирования на естественном языке.


👉 Дополнительные улучшения
Расширенная совместимость - поддержка Android Gradle Plugin (AGP) версий 4.0-9.0

Новая политика облачных сервисов - интеграция с Gemini, Play Vitals и Firebase Crashlytics доступна в стабильной версии и основных релизах за последние 10 месяцев

—————
💭 Возможно обновиться стоит ради упрощения JDK management. Но делайте это на свой страх и риск - уже появились сообщения в наших чатиках, что "впслывают баги". Или подождать до появления патчей)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7
Если ты не понимаешь stability в Compose
https://kt.academy/article/compose-stability

Марцин Москала (автор Effective Kotlin) чётко объясняет, в чём суть.

✏️ Stability определяет, как Compose сравнивает объекты при рекомпозиции:
Stable — через equals, Unstable — по ссылке.

❗️ Так же отмечается, что с выходом Strong Skipping Mode (Kotlin 2.0.20) лямбды теперь мемоизируются автоматически, а Unstable‑типы больше не вызывают кучу лишних рекомпозиций. Но понимать разницу всё ещё важно.

🔗Личная рекомендация как проверить - Compose Stability Analyzer
——————
💭 Если мешают рекомпозиции в Compose - обязательно к прочтению. Скинь тому, кто до сих пор "плавает" в этой теме.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥111
🚀 Jetpack Compose 1.10.3 / 1.11.0-alpha05
https://developer.android.com/jetpack/androidx/releases/compose

Обновление библиотек Jetpack Compose: стабильные релизы UI 1.10.3, альфа-версии 1.11.0 для UI, Material, Foundation и Animation, а также новая Remote Compose 1.0.0-alpha04.

🟢 Compose UI 1.10.3
Стабильная версия Compose UI 1.10.3 с улучшениями производительности и исправлениями багов.
androidx.compose.ui:ui-*:1.10.3


🟢 Material и Material 3 получили обновления
Обновлены библиотеки Material Design компонентов:
- Compose Material 1.11.0-alpha05 - классические Material компоненты
- Material 3 1.5.0-alpha14 - современный Material Design 3

Новые компоненты и улучшения существующих делают UI более отзывчивым и "красивым".

🟢 Remote Compose 1.0.0-alpha04 для удаленного UI
Remote Compose позволяет рендерить UI удаленно - это открывает новые возможности для:
- Server-driven UI
- Динамические экраны без обновления приложения
- A/B тестирование интерфейсов
androidx.compose.remote:remote-*:1.0.0-alpha04

——————
💭 Все обычно: быстрее, "красивее", стабильней. Но, стоит обратить внимание на Remote Compose и попробовать ее в в своих экспериментах - видно, что пытаются сделать BDUI/SDUI более глобально-гугловым.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92
🚀 Flutter 3.41
https://blog.flutter.dev/whats-new-in-flutter-3-41-302ec140e632

Вводит публичные release windows, модульные design-системы, улучшения accessibility и новый RepeatingAnimationBuilder для создания непрерывных анимаций.

📌 Public Release Windows
Flutter теперь публикует прозрачные временные окна релизов, чтобы разработчики и контрибьюторы могли точно знать, когда их изменения попадут в стабильную версию. Это упрощает планирование и делает процесс разработки более предсказуемым.

📌 Модульные Design-системы
Material и Cupertino библиотеки мигрируют в отдельные пакеты с независимыми циклами релизов. Теперь команда Flutter может выпускать обновления дизайн-систем сразу, как только они готовы, не дожидаясь квартальных релизов SDK.

• Быстрая реакция на изменения дизайна iOS и Android (например, "Liquid Glass" или "Material 3 Expressive")
• Разработчики на старых версиях SDK могут обновлять дизайн-пакеты независимо

📌 Native Accessibility для Progress Indicators
CircularProgressIndicator и LinearProgressIndicator теперь поддерживают нативную accessibility, позволяя вспомогателям автоматически объявлять обновления прогресса. Flutter также теперь следит за настройками text spacing в браузерах для улучшения читаемости.

Новые testing matchers:
- isSemantics - проверка семантических свойств
- accessibilityAnnouncement - валидация accessibility объявлений

📌 RepeatingAnimationBuilder
Новый декларативный способ создания непрерывных анимаций - идеально для loading индикаторов, пульсирующих кнопок или эффектов шиммеров для placeholder'ов.

——————
💭 Улучшили процесс разработки и "доступности для всех пользователей" - показывая зрелость и заботу)

Так же RepeatingAnimationBuilder - приятное дополнение, которое упростит код для многих типовых анимаций.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥31
🚀 React Native 0.84
https://reactnative.dev/blog/2026/02/11/react-native-0.84

React Native 0.84 делает Hermes V1 движком по умолчанию на всех платформах, полностью убирает Legacy Architecture из iOS сборок и переходит на precompiled binaries для ускорения разработки.

🔹 Hermes V1 стал JavaScript движком по умолчанию
Hermes V1 теперь используется автоматически, без дополнительных настроек.

Что это дает:
• Значительно улучшенная производительность JavaScript кода
• Оптимизация компилятора и виртуальной машины
• Лучшее время запуска приложений
• Меньшее потребление памяти

🔹 Полное удаление Legacy Architecture из iOS
Legacy Architecture код больше не включается в iOS сборки по умолчанию.

Преимущества:
• Значительно сокращено время компиляции проектов
• Уменьшен размер финального приложения
• Упрощена кодовая база - меньше legacy кода
• Проще поддержка и обновление проектов

Новая архитектура становится стандартом де-факто.

🔹 Precompiled iOS Binaries по умолчанию
React Native теперь поставляется с предкомпилированными iOS binaries, что кардинально ускоряет процесс разработки:

Теперь не нужно компилировать React Native с нуля при каждом pod install - используются готовые binaries.

Плюсики:
• Первичная установка зависимостей выполняется в 2-3 раза быстрее
• CI/CD пайплайны работают значительно быстрее
• Меньше нагрузки на CPU при сборке

🔹 Node.js 22 - новое минимальное требование
React Native 0.84 требует минимум Node.js 22 для работы. Это позволяет использовать современные возможности JavaScript и улучшает совместимость с экосистемой.

Как обновиться:

# Используя nvm
nvm install 22
nvm use 22

# Или загрузите с nodejs.org


——————
Подробнее - по ссылке в заголовке)

*Принадлежит компании Meta, которая признана в РФ экстремистской и запрещена на территории страны.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72
🚀 Android 17 Beta 1 [part 2]
https://android-developers.googleblog.com/2026/02/the-first-beta-of-android-17.html

Dynamic Camera Session Updates
Новый метод updateOutputConfigurations() для бесшовного переключения между camera use cases без пересоздания всей сессии.

Пример использования:

// Переключение с preview на video recording без разрыва
val newOutputConfig = OutputConfiguration(videoSurface)
cameraDevice.updateOutputConfigurations(listOf(newOutputConfig))


Logical Multi-Camera Metadata:
Новый ключ LOGICAL_MULTI_CAMERA_ADDITIONAL_RESULTS для одновременного получения метаданных от всех активных физических камер в logical multi-camera setup.

val physicalCameraResults = captureResult.get(
CaptureResult.LOGICAL_MULTI_CAMERA_ADDITIONAL_RESULTS
)
physicalCameraResults?.forEach { (cameraId, metadata) ->
// Обработка метаданных каждой физической камеры
val exposure = metadata.get(CaptureResult.SENSOR_EXPOSURE_TIME)
}


Versatile Video Coding (VVC) Support
Поддержка стандарта VVC — следующего поколения видеокодеков после HEVC.

Новый MIME type и profiles:

val codecInfo = MediaCodecInfo.forVideoCodec(
MediaFormat.MIMETYPE_VIDEO_VVC,
MediaCodecInfo.CodecProfileLevel.VVCProfileMain10
)

val format = MediaFormat.createVideoFormat(
MediaFormat.MIMETYPE_VIDEO_VVC,
width,
height
)


Constant Quality Recording:
Метод setVideoEncodingQuality() обеспечивает более точный контроль качества видео, выходя за рамки простого битрейта.

Cleartext Traffic Blocked by Default
Атрибут android:usesCleartextTraffic deprecated. Приложения должны мигрировать на Network Security Configuration.

Миграция:

<!-- res/xml/network_security_config.xml -->
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">example.com</domain>
</domain-config>
</network-security-config>



<!-- AndroidManifest.xml -->
<application
android:networkSecurityConfig="@xml/network_security_config">
</application>


HPKE Cryptography
Новый Service Provider Interface для Hybrid Public-Key Encryption с поддержкой AEAD symmetric encryption.

————————
💭 Android 17 - это переход на Continuous Canary Updates, теперь разработчики получат более стабильные Beta-версии с почти финальными API уже на ранних этапах. Также теперь все больше ОБЯЗАТЕЛЬНОГО внимания уделяется большим экранам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤔52
🚀 Android 17 Beta 1 [part 1]
https://android-developers.googleblog.com/2026/02/the-first-beta-of-android-17.html

Google выпустила первую бета-версию Android 17, радикально изменив модель разработки платформы. Вместо традиционных Developer Preview теперь используется Continuous Canary Updates - функции выходят сразу после внутреннего тестирования. Релиз фокусируется на обязательной адаптивности для больших экранов, производительности и новых медиа-возможностях.

Continuous Canary Updates - новая модель разработки
Google отказывается от многолетней практики Developer Preview в пользу непрерывного канала Canary.

Три основных преимущества:
Быстрый доступ к функциям: Features и APIs попадают в Canary сразу после внутреннего тестирования, без ожидания квартальных релизов
Улучшенная стабильность: Раннее тестирование делает Beta-версии более отполированными с почти финальными API
Упрощенное тестирование: OTA-обновления исключают ручную прошивку; легче интегрировать в CI-процессы

Mandatory Large Screen Adaptability (SDK 37)
Приложения, таргетирующие Android 17, обязаны поддерживать гибкую ориентацию и изменение размеров на больших экранах (≥600dp smallest width).

Критические изменения:
• Portrait/landscape orientation locks игнорируются на больших экранах
• Ограничения aspect ratio (minAspectRatio, maxAspectRatio) больше не применяются
• Игры освобождены от требования при использовании android:appCategory="game"
• Пользователи могут переопределить поведение через системные настройки

Новый manifest атрибут:
<activity
android:name=".MyActivity"
android:recreateOnConfigChanges="keyboard|uiMode">
<!-- Activity пересоздается при изменении клавиатуры или UI mode -->
</activity>


Атрибут android:recreateOnConfigChanges позволяет приложению пересоздавать Activity при конкретных configuration changes, таких как видимость клавиатуры или переключение UI mode.

Lock-free MessageQueue и Generational GC
Lock-free MessageQueue:
Новая реализация без блокировок для приложений, таргетирующих SDK 37+. Уменьшает количество пропущенных фреймов и улучшает отзывчивость UI.

Generational Garbage Collection:
Более частые, но менее ресурсоемкие сборки young-generation объектов. Снижает общие CPU-затраты на GC, улучшая плавность работы приложений.

Важно: Оба улучшения активируются автоматически для приложений с targetSdkVersion="37".

————————
Продолжение в предыдущем посте...ох уж эта небагованная телега...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3
🚀 Claude Code 2.1.41–2.1.44
https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md

Вышли новые версии Claude Code 2.1.41–2.1.44. Главный релиз — 2.1.41 от 13 февраля: нативная поддержка Windows ARM64, новые CLI-команды авторизации и более 15 исправлений. Последующие версии 2.1.42–2.1.44 добавили улучшения производительности и точечные исправления.

🔴 Windows ARM64 - нативный бинарник
Claude Code теперь поставляется в виде нативного бинарника для win32-arm64. Это первая официальная поддержка Windows-устройств на архитектуре ARM64 - включая Surface Pro X, Surface Pro 11 и другие Snapdragon-ноутбуки.

До этого пользователи на ARM64 Windows были вынуждены использовать эмуляцию x64, что давало заметные просадки по производительности и не всегда работало стабильно.

🔴 CLI Auth Commands - управление авторизацией из терминала
Три новые subcommands для управления сессиями прямо из терминала:

claude auth login # авторизация (открывает OAuth flow)
claude auth status # показывает текущий статус авторизации
claude auth logout # выход из аккаунта

Раньше управление авторизацией требовало открытия браузера или навигации по меню. Теперь это полностью scriptable - удобно для CI/CD пайплайнов, Docker-контейнеров и автоматизированных окружений.

🔴 Защита от вложенных сессий
Claude Code теперь блокирует запуск внутри уже активной сессии Claude Code. Это предотвращает рекурсивные вызовы, которые могли приводить к непредсказуемому поведению при использовании агентских функций и Agent SDK.

🔴 Улучшения производительности
- Ускорен запуск: Zod-схемы теперь инициализируются лениво (deferred construction), а не при старте - ощутимое ускорение холодного запуска
- Prompt cache hit rate: дата вынесена из системного промпта - это повышает частоту попаданий в кеш и снижает стоимость токенов при повторных запросах
- Opus 4.6 migration notice: пользователи, имеющие право на апгрейд, получают одноразовое уведомление о переходе

🔴 Улучшен `/rename`
Команда /rename теперь автоматически генерирует имя сессии из контекста разговора при вызове без аргументов - больше не нужно придумывать названия вручную.

🔴 Дополнительные улучшения
Исправлен FileReadTool: больше не блокируется на FIFO-файлах, /dev/stdin и больших файлах
OTel tracing: добавлен атрибут speed в события и спаны для отображения fast mode
Исправлен /resume: превью сессий теперь показывают читаемые названия команд вместо raw XML
Исправлена ошибка Agent Teams с неправильным model identifier для Bedrock, Vertex и Foundry
AWS auth refresh: добавлен таймаут 3 минуты, чтобы не зависать бесконечно
Исправлено отображение hook blocking errors - stderr теперь виден пользователю
Исправлены `@`-упоминания с anchor fragments (`@README.md#installation`)

——————
💭 Понятно, что все кто используют Claude Code автоматически обновляются, но что это привносит каждый раз - многие даже не задумываются. Текущее обновление привносит Windows пользователям радость и дотюннивает текущий инстурментарий.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42😴1
Один из наших комрадов Григорий Рябов, который проходил 3 AI Advent Challenge написал целую статью на Хабр о своих впечатлениях и результатах после челленджа

https://habr.com/ru/articles/979950/

Всем читать обязательно
От нашей скромной команды выражаем ему огромную благодарность
🔥4🤔2