L'écran de liste de l'application Android Etsy, essentiel pour mettre en valeur les produits, était devenu complexe et difficile à maintenir en raison des changements de code rapides. Pour résoudre ce problème, l'équipe a mis en œuvre "Macramé", une nouvelle architecture basée sur des données immuables et une interface utilisateur réactive. Le cœur de l'architecture est un objet d'état immuable représentant le modèle de données, transmis à l'UI via StateFlow. Les mises à jour des données sont gérées par des événements, envoyés à des gestionnaires pour traitement et mises à jour de l'état ou des effets secondaires. Un ListAdapter et un RecyclerView gèrent les changements d'UI asynchrones. La couverture des tests unitaires a significativement augmenté, validant l'utilisation de gestionnaires simples pour la logique métier. Malgré quelque boilerplate et complexité pour les écrans simples, l'architecture améliore la maintenabilité et les performances du code. Le temps jusqu'au premier contenu a diminué de 18%, entraînant une augmentation de l'engagement des utilisateurs. L'équipe Android a étendu l'utilisation de Macramé à d'autres écrans de l'application, tels que le panier et la boutique, écrits en Jetpack Compose.
etsy.com
Macramé: Untangling the Knot on the Etsy Android Listing Screen
Create attached notes ...
