Tonal

Garantindo paridade de recursos na Tonal com Flutter

Objetivo

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

Por que Flutter?

A Tonal ficou imediatamente impressionada com a arquitetura do Flutter. Ao contrário de outros frameworks multiplataforma, o Flutter gerencia a renderização da interface de usuário. Esta decisão fundamental de arquitetura deixou a Tonal mais confiante de que seria capaz de construir uma experiência personalizada sem gastar muito tempo depurando problemas visuais entre plataformas. Apesar do fato de que ninguém na equipe tinha experiência com Dart, a equipe ficou confiante após experimentar a linguagem e considerá-la amigável e intuitiva. E como o framework fornece um formatador de código, linter de código, analisador estático de código e documentação sobre convenções padrão, a equipe foi capaz de 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 foi capaz de recriar o app inteiro com Flutter.

Sua Solução

Apesar de vir de uma ampla gama de formações e experiências, Dart e Flutter foram fáceis para todos na equipe aprenderem rapidamente. A Tonal conseguiu levar o app de apenas uma ideia para um aplicativo mobile completo e pronto para produção, implantado para usuários reais em menos de um ano. O Flutter facilitou avançar rapidamente com recursos como hot reloading com estado, possibilitado pela capacidade do Dart de compilar tanto AOT quanto JIT. Desde o lançamento do app em 2019, a equipe mobile da Tonal tem sido capaz de iterar rapidamente no app, lançando novas versões do app a cada duas semanas.

"A experiência do desenvolvedor com Flutter é de primeira linha. Ao contrário da maioria dos frameworks JavaScript que se vangloriam de uma experiência de 'hot reloading', o hot reloading do Flutter realmente funciona de forma confiável e é consistentemente muito rápido."

- Max Lapides, Mobile Software Engineering Manager, Tonal

Resultados

O Flutter facilitou lançar um app com muito poucos recursos de engenharia. Quando a Tonal lançou seu aplicativo mobile em 2019, havia apenas dois engenheiros no projeto. Mas enquanto a equipe aumentou significativamente desde então, o Flutter continua a suportar a complexidade sempre crescente do app conforme ele escala com a empresa. A Tonal lançou uma incrível variedade de recursos no aplicativo mobile até agora, incluindo uma biblioteca de gráficos personalizada, animações com Rive, um placar que permite você rolar suavemente por dezenas de milhares de membros ativos, um player de vídeo de treino nativo personalizado, e mais, com novos recursos a caminho. Tudo isso foi alcançado com paridade total de recursos entre iOS e Android. O Flutter libertou a Tonal para focar em construir recursos incríveis e manter seus usuários engajados e encantados.