Zillow cria novo código com os componentes de arquitetura do Android

A Zillow é uma das principais redes imobiliárias on-line, oferecendo aos clientes listagens, dados e calculadoras para ajudá-los na compra, aluguel ou venda de um imóvel residencial. O site também conecta usuários a agentes locais, instituições de crédito imobiliário e projetistas de residências.

Lançada em 2006 e sediada em Seattle, a Zillow mantém um banco de dados de mais de 110 milhões de residências nos EUA. Ela também opera um conjunto de mais de vinte apps de imóveis para dispositivos móveis. Quando a Zillow iniciou uma grande reformulação do código do app para dispositivos móveis Android em julho de 2017, ela queria simplificar a vida dos desenvolvedores, tornando o código mais legível e mais fácil para os novos membros da equipe entenderem.

O que eles fizeram

A Zillow reformulou o código usando os Componentes da arquitetura do Android. "Estávamos investigando diferentes tipos de arquitetura", disse Aayush Raj, engenheiro de software da Zillow. "Os Componentes da arquitetura têm a vantagem adicional do reconhecimento do ciclo de vida, o que torna o código muito mais fácil de gerenciar".

O ViewModel permite que os dados sobrevivam a mudanças de configuração (como rotações de tela), enquanto o LiveData é uma classe armazenadora de dados observáveis. Ambos foram usados pela Zillow e, juntos, forneceram um modelo poderoso para implementar o Model-View-ViewModel (MVVM). "Isso facilitou os testes do nosso código", Raj comentou. A biblioteca de persistência Room também facilitou a criação de uma camada de cache local para que o app não precisasse extrair dados da rede com tanta frequência, "melhorando o desempenho e a experiência do usuário".

Resultados

A mudança de muitos códigos para atualizações de dados de atividades para os ViewModels "definitivamente ajudou" a tornar toda a base do código mais legível, acrescentou Raj. A equipe ainda não converteu todo o app para o ViewModel, mas os componentes que usam o ViewModel não tiveram bugs relacionados ao ciclo de vida. A comunicação de atualizações de dados para atividades e fragmentos também funciona muito bem.

"Os desenvolvedores, usando os Componentes da arquitetura do Android, agora estão muito mais produtivos", afirmou Sumiran Pradhan, engenheiro sênior de desenvolvimento de software da Zillow. Os Componentes da arquitetura fornecem orientação quando se inicia do zero, mas também são úteis para a base do código existente. "Depois que os novos desenvolvedores entendem a lógica do ViewModel, eles adoram usá-lo", acrescentou Pradhan.

Primeiros passos

Os componentes de arquitetura do Android estão abertos a todos os desenvolvedores como parte do Android Jetpack. Comece a usar os Componentes da arquitetura do Android.