Tonal

Garantindo a paridade de recursos na Tonal com o Flutter

Objetivo

A equipe de engenharia mobile da Tonal começou a trabalhar no aplicativo móvel apenas alguns meses antes de a empresa anunciar seu exclusivo produto de fitness para casa, então a equipe precisava agir o mais rápido possível. A equipe de software Android nativo da Tonal estava dedicada a construir o aplicativo Android nativo que roda no hardware da Tonal, o que deixou apenas um engenheiro de software para construir o aplicativo móvel do zero. Nunca tendo lançado um aplicativo móvel antes, a Tonal não sabia qual porcentagem de usuários usaria Android versus iOS, mas sabia que queria dar atenção igual a ambas as plataformas e manter a paridade de recursos. Eles também precisavam de um framework que lhes permitisse construir uma interface de usuário personalizada e com a identidade da marca, com uma cara genuinamente Tonal, ao mesmo tempo em que parecesse um aplicativo móvel nativo e agradável. E, como o aplicativo precisaria ser mantido por um longo período, eles precisavam de uma solução que permitisse escalá-lo junto com uma equipe crescente de engenheiros de software.

Por que Flutter?

A Tonal ficou imediatamente impressionada com a arquitetura do Flutter. Diferentemente de outros frameworks multiplataforma, o Flutter cuida da renderização da interface de usuário. Essa decisão fundamental de arquitetura deixou a Tonal mais confiante de que conseguiria construir uma experiência personalizada sem gastar muito tempo depurando problemas visuais entre as plataformas. Apesar de ninguém na equipe ter experiência com Dart, a equipe ficou confiante após experimentar a linguagem e considerá-la amigável e intuitiva. E, como o framework oferece um formatador de código, um linter de código, um analisador estático de código e documentação sobre convenções padrão, a equipe conseguiu começar a construir recursos muito rapidamente. Em menos da metade do tempo que levou para construir uma prova de conceito em outro framework, a equipe da Tonal conseguiu recriar todo o aplicativo com o Flutter.

A solução deles

Apesar de virem de uma ampla variedade de formações e experiências, o Dart e o Flutter foram fáceis de aprender rapidamente para todos na equipe. A Tonal conseguiu levar o aplicativo de uma simples ideia a um aplicativo móvel completo e pronto para produção, implantado para usuários reais, em menos de um ano. O Flutter facilitou agir com rapidez, com recursos como o hot reload com estado, possibilitado pela capacidade do Dart de compilar tanto em AOT quanto em JIT. Desde o lançamento do aplicativo em 2019, a equipe mobile da Tonal tem conseguido iterar rapidamente sobre o aplicativo, lançando novas versões a cada duas semanas.

“A experiência do desenvolvedor no Flutter é de primeira linha. Diferentemente da maioria dos frameworks JavaScript que se gabam de uma experiência de desenvolvimento com 'hot reloading', o hot reload do Flutter realmente funciona de forma confiável e é consistentemente muito rápido.”

- Max Lapides, Gerente de Engenharia de Software Mobile, Tonal

Resultados

O Flutter facilitou o lançamento de um aplicativo com pouquíssimos recursos de engenharia. Quando a Tonal lançou seu aplicativo móvel em 2019, havia apenas dois engenheiros no projeto. Mas, embora a equipe tenha crescido significativamente desde então, o Flutter continua a dar suporte à complexidade cada vez maior do aplicativo à medida que ele escala junto com a empresa. A Tonal já entregou uma quantidade incrível de recursos no aplicativo móvel até agora, incluindo uma biblioteca de gráficos personalizada, animações com a Rive, um placar de líderes que permite rolar suavemente por dezenas de milhares de membros ativos, um player de vídeo de treino nativo e personalizado, e muito mais, com novos recursos a caminho. Tudo isso foi alcançado com total paridade de recursos entre iOS e Android. O Flutter liberou a Tonal para focar na construção de recursos incríveis e em manter seus usuários engajados e encantados.