Google Classroom
Aumentando a produtividade com o Flutter
Métricas de sucesso
98%
de código mobile compartilhado
66%
de redução no tamanho do código
50%
de aumento na velocidade de desenvolvimento
Quando a equipe do Google Classroom viu os aumentos de produtividade que a equipe do GPay teve após migrar para o Flutter, decidiram fazer a mudança. Assista ao vídeo para saber como foi.
Quando a pandemia de COVID levou abruptamente estudantes de todos os lugares ao ensino remoto, a equipe do Google Classroom se viu operando em uma escala diferente quase da noite para o dia. Em setembro de 2021, o Classroom dava suporte a milhões de novos usuários ativos mensais e precisava expandir rapidamente a equipe para atender às necessidades desses usuários em cada plataforma. Com suas equipes de mobile sobrecarregadas, o Google Classroom decidiu explorar soluções que reduzissem a carga sobre seus desenvolvedores.
Por que o Flutter?
A equipe do Google Classroom sabia que o Flutter oferecia muitos dos recursos que desejavam, incluindo uma base de código única que dá suporte a múltiplas plataformas. Avaliaram o Flutter em relação a vários benchmarks, incluindo seus efeitos na latência, no jank, na memória, no tamanho do binário, na acessibilidade e na facilidade de contratação, e ficaram satisfeitos ao ver que os benefícios de adotar o Flutter superam possíveis regressões. A equipe esperava regressões em algumas áreas, como a instabilidade inicial, quase inerente ao lançamento de qualquer aplicativo totalmente novo, e o tamanho do binário, mas acreditava que a base de código única do Flutter permitiria melhorá-las a longo prazo. Com base nesse sucesso, a equipe recebeu sinal verde para migrar seus aplicativos existentes do Google Classroom para o Flutter.
A solução
A equipe dividiu o trabalho em dois lançamentos, um para iOS e outro para Android. Depois de construir um aplicativo de iOS totalmente novo em Flutter, o Google Classroom lançou em seguida a versão para Android em seis meses.
A maior parte da equipe nunca havia usado o Flutter antes, mas a maioria dos engenheiros do Google Classroom relatou que desenvolver com Flutter era mais fácil do que o desenvolvimento nativo. Em particular, consideraram o hot reload um “divisor de águas” para a produtividade. Ele permitia atualizar o aplicativo sem reabri-lo, eliminando a troca de contexto desnecessária, economizando tempo e reduzindo a carga mental dos desenvolvedores.
Resultados
Migrar para o Flutter trouxe ao Google Classroom uma série de benefícios. Acelerou o tempo de build incremental, de vários minutos para alguns segundos, o que, segundo estimativas, economiza uma semana inteira de tempo de desenvolvimento todo mês. A base de código única melhorou o tempo de desenvolvimento entre plataformas em “pelo menos 50%”, relataram, e simplificou seus lançamentos.
Houve outros benefícios também. O Flutter reduziu o tamanho da base de código do Google Classroom em 54%, tornando-a mais fácil de manter. O desempenho do aplicativo também melhorou, incluindo uma redução de 62% na latência mediana de inicialização e uma redução de 63% na latência das CUJs monitoradas.