
В рамках Android 14 Google, похоже, постепенно перестраивает части приложения «Настройки» с использованием своей более современной библиотеки Jetpack Compose вместо традиционных Android Views.
Еще в 2019 году Google представила Jetpack Compose как более современный способ создания нативных приложений для Android с использованием Kotlin. Вместо обычных XML-элементов Views в Android для императивного проектирования пользовательских интерфейсов приложений, Jetpack Compose позволяет разработчикам декларативно создавать дизайны, используя тот же Kotlin, что и для основной логики приложения.
С тех пор Google активно призывает разработчиков попробовать Jetpack Compose в своих приложениях, будь то путем преобразования приложения по частям или начиная с нуля с новым проектом Compose. Фактически, в прошлом году компания заявила, что Jetpack Compose является ее «рекомендуемым подходом для создания пользовательских интерфейсов для приложений Wear OS». В связи с этим Google подкрепляет свои слова делом, перестраивая некоторые из своих собственных приложений для использования Jetpack Compose — в первую очередь Play Store.
С выпуском первого Developer Preview Android 14 наша команда обнаружила усилия (под кодовым названием «Spa») по переписыванию некоторых (или, возможно, всех?) приложений «Настройки» Android в Jetpack Compose. Несколько частей приложения уже были переписаны в Compose, при этом Google, похоже, берется за этот потенциально масштабный проект по одной странице за раз.
В частности, команда Android на данный момент переписала страницы, связанные с приложениями, уведомлениями и настройками языка. Также появилась переработанная главная страница приложения «Настройки», которая в настоящее время отображает только те части приложения, которые были переписаны в Compose.



Если у вас установлен Developer Preview Android 14 на вашем устройстве и вы хотите самостоятельно опробовать некоторые из переработанных разделов приложения «Настройки», это легко сделать с помощью одной команды ADB.
adb shell settings put global settings_enable_spa true
Просто помните, что это пока еще незавершенная работа, и все может работать не так, как вы ожидаете. Чтобы вернуть все обратно, вы можете использовать эту команду ADB.
adb shell settings delete global settings_enable_spa
После включения несколько отдельных страниц в приложении «Настройки» Android автоматически переключаются на свои аналоги в Compose. Однако в большинстве случаев вы, вероятно, не заметите никаких изменений. Проще всего проверить, нажав кнопку с тремя точками, чтобы увидеть, изменилось ли выпадающее меню или немного отличается цветовая палитра, как показано ниже.


Поскольку большая часть Android является открытым исходным кодом, вскоре мы сможем увидеть фактический исходный код, демонстрирующий, как Google осуществляет этот переход от Views к Jetpack Compose. Кроме того, это даст разработчикам возможность ознакомиться с собственными практиками Google по использованию Jetpack Compose и Kotlin.
В написании этой статьи принял участие Дилан Руссель.