Zillow crea un nuovo codice chiaro con i componenti dell'architettura Android

Zillow è un importante marketplace immobiliare online che fornisce ai consumatori le schede, i dati e i calcolatori di cui hanno bisogno per acquistare, affittare o vendere una casa. Il sito mette inoltre in contatto gli utenti con agenti locali, fornitori di mutui e progettisti di case.

Lanciata nel 2006 e con sede centrale a Seattle, Zillow gestisce un database di oltre 110 milioni di case negli Stati Uniti. Gestisce inoltre una popolare suite di oltre due dozzine di app per il settore mobile. Quando nel luglio 2017 ha avviato un'importante revisione del codice della sua app mobile Android nel luglio 2017, Zillow voleva semplificare la vita degli sviluppatori rendendo il codice più leggibile e più facile da capire per i nuovi membri del team.

Cosa hanno fatto

Zillow ha rinnovato il codice utilizzando i componenti dell'architettura Android. "Stavamo studiando diversi tipi di architettura", afferma Aayush Raj, software engineer di Zillow. "I componenti di architettura avevano il vantaggio aggiuntivo della consapevolezza del ciclo di vita, che rendeva il codice molto più facile da gestire."

ViewModel consente ai dati di sopravvivere alle modifiche alla configurazione (come le rotazioni dello schermo), mentre LiveData è una classe osservabile dei titolari di dati. Entrambi sono stati utilizzati da Zillow e insieme hanno fornito un modello efficace per l'implementazione di Model-View-ViewModel (MVVM). "Ci ha aiutato a rendere il nostro codice più testabile", afferma Raj. Inoltre, la libreria di persistenza Stanza ha facilitato la creazione di un livello di cache locale, in modo che l'app non debba estrarre i dati dalla rete come spesso, "migliorando le prestazioni e l'esperienza utente".

Risultati

Spostare molto codice per gli aggiornamenti dei dati dalle attività a ViewModels ha "sempre aiutato" a rendere più leggibile l'intero codebase, aggiunge Raj. Non hanno ancora convertito l'intera app in ViewModel, ma i componenti che utilizzano ViewModel non hanno avuto bug relativi al ciclo di vita. Anche la comunicazione degli aggiornamenti dei dati ad attività e frammenti funziona molto bene.

"Grazie ai componenti dell'architettura Android, gli sviluppatori sono assolutamente più produttivi", afferma Sumiran Pradhan, Senior Software Development Engineer di Zillow. I componenti dell'architettura forniscono indicazioni per iniziare da zero, ma sono utili anche nel codebase esistente. "Una volta che i nuovi sviluppatori hanno capito dove si trova la logica nel ViewModel, ne sono entusiasti", aggiunge Pradhan.

Inizia

I componenti dell'architettura Android sono aperti a tutti gli sviluppatori nell'ambito di Android Jetpack. Inizia a utilizzare i componenti dell'architettura Android.