Zillow создает новый понятный код с помощью компонентов архитектуры Android

Zillow — это ведущий онлайн-рынок недвижимости, который предоставляет потребителям списки, данные и калькуляторы, необходимые им для покупки, аренды или продажи дома. Сайт также связывает пользователей с местными агентами, поставщиками ипотечных кредитов и дизайнерами домов.

Основанная в 2006 году со штаб-квартирой в Сиэтле, Zillow поддерживает базу данных о более чем 110 миллионах домов в США. Они также используют популярный набор из более чем двух десятков мобильных приложений по недвижимости. Когда в июле 2017 года компания Zillow начала капитальный пересмотр кода своего мобильного приложения для Android, она хотела упростить жизнь своим разработчикам, сделав код более читабельным и понятным для новых членов команды.

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

Zillow обновила свой код, используя компоненты архитектуры Android . «Мы исследовали различные виды архитектуры», — говорит Ааюш Радж, инженер-программист Zillow. «Компоненты архитектуры имели дополнительное преимущество в виде осведомленности о жизненном цикле, что значительно упрощало управление кодом».

ViewModel позволяет данным сохраняться при изменении конфигурации (например, при повороте экрана), а LiveData является наблюдаемым классом-держателем данных. Оба использовались Zillow, и вместе они предоставили мощный шаблон для реализации Model-View-ViewModel (MVVM). «Это помогло сделать наш код более тестируемым», — говорит Радж. Библиотека персистентности Room также упростила создание уровня локального кэша, поэтому приложению не приходилось так часто извлекать данные из сети, «улучшая производительность и удобство использования».

Результаты

Перенос большого количества кода для обновления данных из активностей в ViewModels «определенно помог» сделать всю базу кода более читабельной, добавляет Радж. Они еще не преобразовали все приложение в ViewModel , но компоненты, использующие ViewModel, не имели никаких ошибок, связанных с жизненным циклом. Передача обновлений данных для действий и фрагментов также работает очень хорошо.

«Разработчики работают намного продуктивнее, используя компоненты архитектуры Android», — говорит Сумиран Прадхан, старший инженер по разработке программного обеспечения Zillow. Компоненты архитектуры дают им рекомендации при запуске с нуля, но также полезны и для существующей базы кода. «Как только новые разработчики понимают, где находится логика во ViewModel , им это нравится», — добавляет Прадхан.

Начать

Компоненты архитектуры Android открыты для всех разработчиков как часть Android Jetpack . Начало работы с компонентами архитектуры Android .