SmartNews teve uma redução de 20% nas linhas de código e melhorou o moral da equipe usando o Kotlin

A SmartNews ajuda milhões de pessoas a descobrir o mundo todos os dias, compartilhando notícias atualizadas de um conjunto diversificado de fontes. A empresa foi fundada em 2012 no Japão e já teve mais de 50 milhões de downloads em todo o mundo.

Em junho de 2019, a equipe percebeu que o desenvolvimento em Android estava migrando para priorizar o Kotlin e decidiu começar a testar essa linguagem também. A empresa queria aproveitar as bibliotecas Jetpack com foco no Kotlin, reduzir a quantidade de código que precisava manter e se beneficiar da sintaxe expressiva e fácil de entender do Kotlin.

O que eles fizeram

A equipe da SmartNews é experiente em Java, então para eles foi fácil começarem a programar em Kotlin. Como o Kotlin é 100% interoperável com Java, eles podem começar a escrever novos recursos com facilidade, como o Weather Radar e o News From All Sides (link em inglês) em Kotlin, enquanto trabalham na base de código já existente. Eles usaram corrotinas para gerenciar o download e o armazenamento em cache de imagens no recurso patenteado Weather Radar. Os agentes de corrotina fornecem uma abstração útil para o gerenciamento de tarefas, e isso ajudou os engenheiros da SmartNews a evitar os problemas causados pelo gerenciamento de linhas de execução brutas.

A equipe também refatorou alguns dos códigos Java e ficou impressionada com os recursos de segurança nulos do Kotlin. A sintaxe do Kotlin para identificar mutabilidade, nulidade e inicialização ajudou a equipe a detectar erros no logo início e reduziu o tempo necessário para revisar as mudanças no código em 10%. Usando a sintaxe sucinta e eficiente do Kotlin, a empresa também aumentou a legibilidade da base do código, o que facilitou a manutenção do código ao longo do crescimento da empresa.

Resultados

A programação em Kotlin melhorou a produtividade geral desde a implementação até o lançamento. A maior melhoria que eles observaram foi que usar Kotlin reduziu as linhas de código convertidas em 20%. Aproximadamente metade do app SmartNews está em Kotlin atualmente, e a equipe de desenvolvimento planeja escrever todos os novos recursos nessa linguagem, além de refatorar parte do código existente para continuar aumentando a capacidade de manutenção dele.

À medida que a equipe de desenvolvimento implementava o Kotlin e reduzia o código boilerplate, ela percebeu um aumento no moral dos membros. A equipe estava animada para poder expressar ideias de modo mais eficiente e ter código mais legível no futuro. Hideo Ohashi, gerente de engenharia da SmartNews, percebeu que o Kotlin ajudou os esforços de recrutamento de engenharia. "As perguntas mais frequentes dos candidatos são: 'vocês estão usando o Kotlin? Com que frequência?'. Parece que muitos engenheiros estão interessados em migrar para o Kotlin e querem apoiar o uso dele". Embora essas melhorias no moral e no recrutamento não sejam os principais motivos pelos quais a equipe adotou o Kotlin, essas mudanças positivas ajudarão a empresa enquanto ela continua crescendo nesse setor competitivo.

Primeiros passos

Saiba mais sobre o desenvolvimento de um app Android com o Kotlin.