Monzo — это банк и приложение, предлагающие цифровые финансовые услуги. Их миссия — сделать так, чтобы деньги работали на благо каждого. Система дизайна Monzo начала отклоняться от Material Design, поэтому им нужен был простой способ создавать и поддерживать постоянно развивающиеся пользовательские компоненты — и они выбрали Jetpack Compose.
Что они сделали
В Compose компоненты Material Design предоставляются в виде слоя поверх независимых от дизайн-систем базовых API. Monzo использовала базовые API для создания собственной библиотеки компонентов, используя компоненты Material Design в качестве эталона. Они начали с миграции отдельных экранов, а теперь используют Compose на всех новых экранах. Сейчас Compose используется в продакшене всеми Android-разработчиками: «Мы не столкнулись с серьезными проблемами, поэтому почувствовали себя достаточно уверенно, чтобы начать использовать его для некоторых новых функций, а в конечном итоге и для всех новых функций».
Результаты
Команда Monzo создала компоненты, которые позволяют им легко создавать новые экраны: «Предоставляемые нами компоненты значительно упрощают процесс создания экрана при изучении Compose. API на основе слотов — это фантастический подход, который позволяет нам легко создавать более крупные компоненты из множества небольших строительных блоков».
Благодаря Compose команда Monzo смогла создать приложение более высокого качества, добавив замечательные функции, которые ранее были недоступны в рамках спринтов: «Например, анимации — их так легко добавить в Compose, что практически нет причин не анимировать такие вещи, как изменение цвета/размера/высоты. Эти «приятные» анимации часто слишком сложны, чтобы оправдать затраченные усилия и сложность в системе View».
Теперь их код стал короче, его легче читать, понимать и поддерживать: «Декларативный код гораздо проще для понимания, чем код, манипулирующий изменяемой иерархией пользовательского интерфейса. Также гораздо проще отслеживать код, когда он написан на одном языке и часто в одном файле, чем постоянно переключаться между Kotlin и XML. И даже не начинайте говорить о темах и стилях XML! В Compose гораздо проще понимать темы оформления . Наша тема состоит только из определенных нами свойств, значения которых согласованы на разных устройствах, и поскольку она написана на Kotlin, ее очень легко искать и отслеживать в IDE».
Compose позволил команде Monzo легко тестировать свое приложение и убедиться в его доступности: «Это помогло нам писать менее уязвимые тесты, которые работают надежно и дают нам большую уверенность в том, что наше приложение действительно работает в руках пользователей. Тестирование с помощью системы семантики также гарантирует, что наши экраны, по крайней мере, в разумной степени доступны по умолчанию ».
Начать
Узнайте больше о Compose .