O Spotify abriu o código-fonte de sua ferramenta Ruler para ajudar os desenvolvedores de aplicativos a analisar o tamanho de seus aplicativos. É uma maneira fácil de identificar grandes dependências.
Ao instalar aplicativos na Google Play Store, os usuários geralmente preferem aplicativos menores. Isso pode ser devido ao espaço de armazenamento limitado ou à largura de banda de download limitada, ou alguns usuários preferem apenas uma instalação mais rápida. No entanto, o Spotify tem uma ferramenta chamada “Ruler” que usa para medir e analisar o tamanho de seus aplicativos Android com o objetivo de descobrir como reduzi-los. Agora a empresa está tornando essa ferramenta de código aberto e gratuita para qualquer desenvolvedor que queira usá-la.
Os aplicativos publicados na Google Play Store agora são normalmente carregados na forma de um Android App Bundle. Quando um usuário solicita a instalação de um aplicativo, a Google Play Store gera um APK otimizado para o usuário final que está instalando o aplicativo. O Ruler imita esse processo para criar um APK preciso do que o usuário final deve receber. Para cada arquivo, o Ruler captura duas medidas:
- Tamanho do download: Bytes transferidos pela rede quando um usuário baixa o aplicativo
- Tamanho da instalação: Bytes que um arquivo ocupa no dispositivo depois que o aplicativo é instalado
O Ruler pode então examinar um aplicativo e encontrar a lista de arquivos dentro dele e seus tamanhos. Ele também pode encontrar todos os módulos e dependências do Gradle que contribuem para o tamanho do aplicativo. Com isso, é criada uma segunda lista de todos os componentes e seus conteúdos. A combinação das duas listas permite agrupar todos os arquivos do aplicativo por origem e determinar quanto cada módulo e dependência contribui para o tamanho geral do aplicativo. Existem outros métodos envolvidos também, e vale a pena conferir o da empresa postagem no blog de engenharia aprender mais.
O Spotify diz que o aplicativo principal do Spotify tem mais de 1.000 módulos Gradle e centenas de dependências de terceiros, e que o Ruler ajudou a reduzir o tamanho do aplicativo em pouco mais de 9% nos últimos seis meses. A empresa afirma que exporta dados de tamanho de aplicativos uma vez por dia, usando a versão principal mais recente. Ele pode usar esses dados para rastrear tendências históricas, tanto do aplicativo como um todo quanto de módulos individuais e dependências de terceiros. O impacto do tamanho do aplicativo de cada solicitação pull também é analisado para que o feedback inicial possa ser fornecido aos desenvolvedores.
O Ruler é totalmente escrito em Kotlin e, para usá-lo, tudo o que você precisa fazer é aplicar o plugin ao seu projeto Android e executar uma única tarefa do Gradle. Você pode conferir o Ruler GitHub para aprender como integrá-lo ao seu projeto.