Spotify maakt gebruik van zijn Ruler-tool om app-ontwikkelaars te helpen hun app-groottes te analyseren

Spotify heeft zijn Ruler-tool open source gemaakt om app-ontwikkelaars te helpen hun app-groottes te analyseren. Het is een gemakkelijke manier om grote afhankelijkheden te identificeren.

Bij het installeren van apps in de Google Play Store geven gebruikers doorgaans de voorkeur aan kleinere app-formaten. Dat kan komen door de beperkte opslagruimte of de beperkte downloadbandbreedte, of sommige gebruikers geven zelfs de voorkeur aan een snellere installatie. Desalniettemin heeft Spotify een tool genaamd "Ruler" die het gebruikt om de grootte van zijn Android-apps te meten en analyseren om erachter te komen hoe ze deze kunnen verkleinen. Nu maakt het bedrijf die tool open-source en gratis te gebruiken voor elke ontwikkelaar die hem wil gebruiken.

Apps die in de Google Play Store zijn gepubliceerd, worden nu doorgaans geüpload in de vorm van een Android App Bundle. Wanneer een gebruiker een app ter installatie aanvraagt, genereert de Google Play Store vervolgens een geoptimaliseerde APK voor de eindgebruiker die de app installeert. Ruler bootst dit proces na om een ​​APK te maken die nauwkeurig is voor wat de eindgebruiker zou moeten ontvangen. Voor elk bestand legt Ruler vervolgens twee metingen vast:

  1. Downloadgrootte: Bytes die via het netwerk worden overgedragen wanneer een gebruiker de app downloadt
  2. Installatiegrootte: Bytes die een bestand op het apparaat in beslag neemt zodra de app is geïnstalleerd

De liniaal kan vervolgens door een app scannen en de lijst met bestanden en hun grootte vinden. Het kan ook alle Gradle-modules en afhankelijkheden vinden die bijdragen aan de grootte van de app. Hierdoor wordt een tweede lijst gemaakt van alle componenten en hun inhoud. Door beide lijsten te combineren, is het mogelijk om alle bestanden van de app te groeperen op basis van hun bron en te bepalen hoeveel elke module en afhankelijkheid bijdraagt ​​aan de totale app-grootte. Er zijn ook andere methoden bij betrokken, en het is de moeite waard om die van het bedrijf te bekijken blogpost over techniek meer leren.

Spotify zegt dat de belangrijkste Spotify-app meer dan 1.000 Gradle-modules en honderden afhankelijkheden van derden heeft, en dat Ruler de app-grootte de afgelopen zes maanden met iets meer dan 9% heeft helpen verkleinen. Het bedrijf zegt dat het één keer per dag gegevens over de app-grootte exporteert, met behulp van de nieuwste hoofdbuild. Het kan deze gegevens gebruiken om historische trends bij te houden, zowel van de app als geheel als van individuele modules en afhankelijkheden van derden. De impact van elke pull-request op de app-grootte wordt ook geanalyseerd, zodat ontwikkelaars vroegtijdig feedback kunnen krijgen.

Ruler is volledig geschreven in Kotlin en om het te gebruiken hoeft u alleen maar de plug-in toe te passen op uw Android-project en een enkele Gradle-taak uit te voeren. Je kunt Ruler's eens bekijken GitHub om te leren hoe u het in uw project kunt integreren.