Monzo создает более надежное и качественное приложение с помощью Compose

Monzo — это банк и приложение, предлагающее цифровые финансовые услуги. Их миссия — заставить деньги работать на всех. Система дизайна Monzo начала отклоняться от Material Design, поэтому им нужен был простой способ написания и поддержки пользовательских компонентов , которые постоянно развиваются, поэтому они выбрали Jetpack Compose.

Что они сделали

Компоненты Compose the Material Design представляют собой слой над базовыми API, не зависящими от системы проектирования. Monzo использовала базовые API для создания собственной библиотеки компонентов, используя компоненты Material в качестве эталона. Они начали с переноса экрана за раз, а теперь используют Compose на всех новых экранах. Теперь Compose используется в производстве всеми инженерами Android: «Мы не столкнулись с какими-либо серьезными проблемами и поэтому чувствовали себя достаточно уверенно, чтобы начать использовать его для некоторых избранных новых функций, а со временем и для всех новых функций».

Результаты

Команда Monzo создала компоненты, которые позволяют им легко создавать новые экраны: «Компоненты, которые мы предоставляем «из коробки», значительно упрощают создание экрана во время изучения Compose. API-интерфейсы на основе слотов — это фантастический шаблон, который позволяет нам легко создавать более крупные компоненты из множества маленьких строительных блоков».

С помощью Compose команда Monzo смогла создать приложение более высокого качества, добавив замечательные функции, которые раньше они не могли использовать в своих спринтах: «Одним из примеров является анимация — ее так легко добавить в Compose, что для этого очень мало причин. не анимировать такие вещи , как изменения цвета/размера/высоты. Эти «приятные» анимации зачастую слишком сложны, чтобы оправдать усилия и сложность системы View».

Их код теперь короче, его легче читать, понимать и поддерживать: «Декларативный код гораздо легче рассуждать, чем код, который манипулирует изменяемой иерархией пользовательского интерфейса. Кроме того, гораздо проще отслеживать код , когда он написан на одном языке и зачастую в одном и том же файле, вместо того, чтобы переключаться между Kotlin и XML. Даже не рассказывайте мне о темах и стилях XML! Темы намного проще понять в Compose. Наша тема состоит только из свойств, которые мы определяем, значения одинаковы на всех устройствах, а поскольку она написана на Kotlin, ее действительно легко искать и отслеживать в IDE».

Compose позволил команде Monzo легко протестировать свое приложение и убедиться в его доступности: «Это помогло нам написать тесты, которые менее хрупкие, работают надежно и дают нам большую уверенность в том, что наше приложение действительно работает в руках наших пользователей. Тестирование с помощью семантической системы также гарантирует, что наши экраны по умолчанию хотя бы достаточно доступны ».

Начать

Узнайте больше о Compose .