A iHeartRadio (link em inglês), sediada em Nova York, oferece música ilimitada e milhares de estações de rádio, tudo em um único app. As operações da empresa incluem transmissões de rádio, mídia on-line, móvel, digital e social, shows e eventos ao vivo, distribuição, serviços de pesquisa de músicas e representação independente de mídia.
Ouvintes de todo o mundo fizeram o download do app mais de um bilhão de vezes desde que foi lançado em 2008. No entanto, no fim de 2017, a base de código começou a envelhecer, e o gerenciamento de código e integração de novos recursos tornaram-se difíceis.
O que a equipe fez
A iHeartRadio optou pelos Componentes de arquitetura do Android quando começou a atualizar o código. A biblioteca de persistência simples e fácil de implementar Room era interessante para os engenheiros devido à capacidade de lidar com questões como consultas assíncronas e compatibilidade com RxJava, que a iHeartRadio usa extensivamente no código.
Ela também adotou componentes que reconhecem o ciclo de vida, que executam ações em resposta a uma mudança no status do ciclo de vida de outro componente. Os engenheiros da iHeartRadio consideraram esses componentes muito úteis para diminuir as dependências injetadas em atividades e fragmentos. Além disso, a empresa criou protótipos usando o ViewModel, que permite que os dados sobrevivam a mudanças de configuração, como rotações de tela.
Resultados
A iHeartRadio achou fácil migrar para os Componentes da arquitetura e usar as bibliotecas para testar o funcionamento da integração. A Room e outros componentes exigem o uso de muito pouco código boilerplate, o que significa que o código do app fica significativamente menor. O uso dos Componentes da arquitetura também resultaram em menos vazamentos de memória. Um benefício adicional era que os novos desenvolvedores que entrassem na equipe poderiam rapidamente se familiarizar e iniciar a programação.
Em geral, a adoção dos Componentes de arquitetura ajudou a iHeartRadio a criar uma base de código mais limpa e enxuta que evita erros. Essa é uma boa notícia para qualquer app, especialmente para os que oferecem áudio digital completo para um público-alvo mundial.
Primeiros passos
Os componentes de arquitetura do Android estão abertos a todos os desenvolvedores como parte do Android Jetpack. Comece a usar os Componentes da arquitetura do Android.