Создавайте приложения для любых экранов с помощью последних обновлений Jetpack Compose, представленных на Саммите для разработчиков Android
Время на чтение: 3 минуты
Экосистема Android включает в себя множество устройств: телефоны, складные устройства, планшеты, носимые устройства, автомобильные дисплеи, XR и Googlebook. В таких условиях адаптивная разработка – это основа для охвата пользователей на любых устройствах.
Jetpack Compose – это стандартный набор инструментов для создания пользовательских интерфейсов в Android. Отказ от устаревшей системы View позволяет создать единую цель разработки и устранить сложности, связанные с поддержкой фрагментированных баз кода для разных форм-факторов. Но создание адаптивных макетов – это только половина дела. Когда экраны складываются, окна меняют размер, а приложения переходят между форм-факторами, традиционные предположения о макете могут нарушаться, и приложения могут легко потерять состояние или казаться разрозненными.
На Саммите для разработчиков Android мы рассказали, как улучшаем основы приложений, включая интерфейс и архитектуру. Мы глубже интегрируем Compose в слой данных с помощью Jetpack AppState, а также предлагаем адаптивные строительные блоки, такие как FlexBox и Grid, и инструменты с поддержкой агентов для масштабирования на экранах любого размера.
Ниже вы найдете основные моменты из наших недавних объявлений. Также рекомендуем посетить сайт Android для разработчиков, где доступно более 50 сеансов по запросу, в том числе с рекомендациями по основам приложений.
Развитие основных функций и применение Compose за пределами интерфейса
В предстоящем стабильном выпуске Compose 1.13 набор инструментов будет расширен за счет встроенной поддержки адаптивных макетов с помощью Grid и Flexbox, а также новых функций, таких как прогрессивное размытие и форматированный текст. Чтобы узнать, как использовать новые функции графики, например сетчатые градиенты и прогрессивное размытие, не жертвуя временем работы от батареи и частотой кадров, посмотрите видео Улучшите свои приложения с помощью новых функций графики в Jetpack Compose и Android.
Помимо визуального рендеринга, в текстовом редакторе Compose теперь есть полностью переписанный BasicTextField с архитектурой на основе буфера и TextFieldState. Это устраняет состояние гонки IME и поддерживает механику редактирования форматированного текста. Чтобы узнать больше об этом изменении, посмотрите видео Создание надежных возможностей редактирования текста в Compose.
При внедрении таких визуальных и интерактивных возможностей важно поддерживать стабильную частоту кадров и низкую задержку при запуске. Посмотрите видео Outperform yourself in Compose (Как повысить производительность в Compose), чтобы узнать, как профилировать код с помощью Perfetto и отслеживания рекомпозиции, выявлять неэффективные антипаттерны и обеспечивать бесперебойную работу интерфейса.
Compose также расширяется на уровень архитектуры с помощью Jetpack AppState, который сейчас находится на стадии альфа-тестирования. AppState добавляет систему снимков Compose в архитектуру приложения. Transform позволяет получать реактивное состояние из входных данных State и Flow с помощью автоматического отслеживания чтения и простого потока управления Kotlin. StateStore предоставляет контейнер с ключом, чтобы делиться наблюдаемым состоянием между действиями, фоновыми службами, виджетами и функциями приложения с возможностью сохранения DataStore. Посмотрите видео Taking Compose State Beyond the UI with Jetpack AppState (Как использовать состояние Compose за пределами интерфейса с помощью Jetpack AppState), чтобы узнать, как перемещение состояния Compose вверх по стеку упрощает сложные конвейеры состояний и синхронизирует все поверхности приложения.
Как разработать надежные системы навигации и ввода для разных типов устройств
По мере того как приложения становятся более модульными, навигация и пользовательский ввод должны оставаться предсказуемыми для каждой точки входа и размера экрана. В версии 1.2 Jetpack Navigation 3 предлагает встроенные типобезопасные ссылки на контент для обратного стека, принадлежащего разработчику. С помощью Kotlin Serialization вы можете сопоставлять входящие URI и намерения непосредственно со строго типизированными ключами навигации, настраивать синтаксический анализ сложных аргументов и создавать синтетические обратные стеки, чтобы обратная навигация всегда была естественной. Чтобы посмотреть, как работают эти API, ознакомьтесь со статьей Создание типобезопасных ссылок на контент с помощью Jetpack Navigation 3.
Обработка входных данных также эволюционировала, чтобы поддерживать мультимодальные взаимодействия на разных устройствах. Многоуровневая система ввода Compose поддерживает не только сенсорные экраны, но и сенсорные панели, мыши и физические элементы управления. Чтобы узнать, как управлять жизненными циклами указателей, состояниями при наведении и аппаратными событиями на разных устройствах, посмотрите видео Scaling input interactions beyond the touchscreen with Jetpack Compose (Масштабирование взаимодействий ввода за пределами сенсорного экрана с помощью Jetpack Compose).
Масштабирование интерфейсов для больших экранов, компьютеров и других устройств
При переходе между складными устройствами, планшетами и ноутбуками интерфейсы должны адаптироваться естественным образом, а не просто растягивать контент, чтобы заполнить большие дисплеи. Адаптивная разработка с помощью Compose сочетает в себе Navigation 3, WindowManager и агентные рабочие процессы, которые помогают провести рефакторинг мобильных макетов в адаптивные многопанельные интерфейсы с минимальными затратами на ручную работу. Масштабирование приложения для любого экрана с помощью Compose – это руководство для разработчиков, которые хотят улучшить существующие макеты. В нем рассматриваются шаблоны многопанельной архитектуры и демонстрируется, как оптимизировать навигацию при изменении размеров окна.
Выход за рамки мобильных устройств открывает новые возможности, например с Googlebook. Чтобы создать приложение, которое будет работать как на компьютере, нужно обеспечить поддержку физических периферийных устройств, оконных сред и т. д. В статье Inside the first wave on Googlebook with Notability and Logitech (Первая волна приложений для Googlebook: Notability и Logitech) наши первые партнеры делятся практическими стратегиями оптимизации приложений для работы с указателем, внешним оборудованием и рабочими процессами на уровне ПК.
Начало работы с Android
Чтобы быстрее внедрить эти шаблоны, вы можете использовать навыки Android для помощи агентам по программированию. Используете ли вы Gemini в Android Studio или запускаете Android CLI с другими агентами, эти навыки выполняют за вас тяжелую работу и соответствуют рекомендациям по адаптивному качеству.В настоящее время для Compose доступны следующие курсы:
- Обновленный навык адаптивности помогает агентам преобразовывать компактные экраны в адаптивные макеты с несколькими панелями и обрабатывать изменения состояния и конфигурации. Теперь он поддерживает складные устройства и компьютеры, автоматически обрабатывая окна, быстрые клавиши, подсказки и состояния наведения на сенсорную панель.
- Новый навык Производительность Compose, который поможет оптимизировать базу кода.
- XML to Compose migration (Перенос из XML в Compose)
- Новый навык Чернила
Помимо базовой архитектуры и адаптивных макетов, вы можете изучить подробные технические материалы, посвященные воспроизведению Media3, конвейерам CameraX, работе в автомобиле, насыщенной графике и урокам, извлеченным из масштабного переноса Google Play в Compose. Посмотрите полную коллекцию технических руководств в плейлисте сеансов App Foundations на Саммите для разработчиков Android, чтобы изучить архитектуры, пошаговые руководства по коду и практические рекомендации.
-
Мероприятия и программыВ этом году на Саммите для разработчиков Android мы рассказали, как развиваются инструменты разработчиков Android, чтобы вы могли работать эффективнее вместе со своими агентами.
Adarsh Fernando • Время на чтение: 10 минут -
Мероприятия и программыМы открываем прием заявок на участие в программе Android XR Developer Catalyst, которая поможет ускорить разработку приложений Android XR, готовых к запуску в следующем году.
Время на чтение: 1 минута -
Мероприятия и программыРасписание Google I/O уже доступно!
Время на чтение: 1 минута
Получайте еженедельную рассылку с последними новостями о разработке для Android.