Introdotta nel 2013, BeautyPlus è una delle app di fotoritocco più popolari al mondo ed è utilizzata da makeup artist, fotografi e normali utilizzatori di telefoni cellulari. Circa 50 milioni di persone utilizzano l'app ogni mese per modificare e aggiungere filtri a selfie, foto e video. Sviluppato da Xiamen Meitu Technology Co. in Cina, Ltd., l'app (particolarmente apprezzata dai selfie) viene utilizzata per qualsiasi azione, dalla correzione della tonalità della pelle all'illuminazione dei sorrisi, nonché per la correzione delle imperfezioni e l'aerografia per eliminare le imperfezioni, il tutto con pochi semplici clic.
Dato che l'azienda aggiorna spesso l'app, è necessario un numero elevato di sviluppatori. Tuttavia, nel tempo, l'architettura sottostante è cresciuta in mancanza di uniformità e chiarezza. Il team in rapida evoluzione aveva bisogno di un modo per tenere aggiornati gli sviluppatori che collaboravano, semplificando la gestione del ciclo di vita e risolvendo i problemi relativi all'aggiornamento dell'interfaccia utente asincrona.
![](https://developer.android.com/static/images/distribute/stories/beautyplus-screenshot.png?authuser=9&hl=it)
Figura 1: un esempio di sessione di modifica delle foto in BeautyPlus
Cosa hanno fatto
I componenti dell'architettura Android hanno fornito gli strumenti necessari agli sviluppatori per rendere il codice dell'app conciso, stabile e più semplice da leggere durante l'onboarding per i nuovi ingegneri.
Tra i componenti che gli sviluppatori di BeautyPlus hanno iniziato a utilizzare c'è ViewModel
, che consente un'elaborazione logica più semplice con aggiornamenti di attività e frammenti. ViewModel
è progettato per
archiviare e gestire i dati relativi alla UI in un modo rispettoso del ciclo di vita
che rispetta il ciclo di vita di altri componenti dell'app.
Ha anche sfruttato il componente LiveData
, una classe osservabile di titolari di dati che è anche sensibile al ciclo di vita per garantire che l'UI corrisponda allo stato dei dati. Il team ha trovato questi componenti di architettura Android facili da usare senza riscontrare problemi e i vantaggi sono stati evidenti.
Risultati
Grazie a Android Architecture Componenti, l'app BeautyPlus presentava subito un codice più leggero del 5% e una leggibilità più elevata del 15%. L'architettura è stata anche più unificata, consentendo agli sviluppatori di risparmiare tempo e fatica e di diventare più rapidamente aggiornati per i nuovi sviluppatori. Inoltre, si sono registrate meno perdite di memoria, l'aggiornamento dei dati è diventato più semplice e gli sviluppatori non dovevano più preoccuparsi di aggiornare l'interfaccia utente asincrona.
"Quando abbiamo utilizzato ViewModel e LiveData per BeautyPlus, il codice è diventato più conciso e leggibile e l'architettura del codice è stata unificata", afferma Zheng Songyin, Senior Development Manager. "Il funzionamento del ciclo di vita dell'app è stato gestito in modo sicuro e anche la stabilità è migliorata."
Inizia
I componenti dell'architettura Android sono aperti a tutti gli sviluppatori. Inizia a usare i componenti dell'architettura Android.