Rive
O Rive reescreveu sua poderosa ferramenta de animação inteiramente em Flutter para permitir que desenvolvedores criem belas ilustrações multiplataforma.
Objetivo
Rive permite que desenvolvedores criem e entreguem belas animações interativas para qualquer plataforma. Seus runtimes de código aberto possibilitam que criadores animem uma vez e depois lancem em qualquer plataforma que desejarem.
No entanto, nem sempre foi assim. No início, a equipe gastava muito tempo gerenciando o ciclo de desenvolvimento: mantendo diferentes pacotes web do lado do cliente para grande parte da funcionalidade de UI, um processo de build customizado, dev ops customizado, testes customizados, linting, servidores de linguagem e muito mais — tudo isso em pacotes separados que precisavam de manutenção e atualização constante.
Em vez disso, a equipe queria um framework que englobasse todas essas coisas, garantindo compatibilidade entre esses aspectos do fluxo de trabalho para que pudessem se concentrar mais no desenvolvimento e menos na manutenção. E para suportar sua robusta interface de usuário com animações sem falhas em tempo real, o Rive precisava de uma ferramenta que pudesse lidar com renderização gráfica pesada em vários navegadores e plataformas. Foi quando eles se voltaram para o Flutter.
Por que Flutter?
A primeira versão do Rive foi escrita inteiramente com JavaScript ES5 e DOM, o que funcionou muito bem para web, mas não para muito mais. Então, em seguida, eles tentaram React com ES6. Usaram webpack e uma versão inicial do CanvasKit, mas foi um esforço significativo manter todas as diferentes plataformas.
Na mesma época, o Rive estava trabalhando com a equipe do Flutter no evento Flutter Interact. Quanto mais eles aprendiam sobre o Flutter, melhor parecia se encaixar para o Rive. Ele oferecia uma plataforma coesa com excelente ferramental, uma linguagem de programação fortemente tipada e ferramentas robustas de análise de linguagem, incluindo um formatador padronizado, linting integrado, servidores de linguagem para ambientes de edição populares e a capacidade de testar diretamente dos ambientes de edição.
Sua solução
A equipe decidiu dar uma chance ao Flutter. Eles construíram um protótipo com Canvaskit no Flutter e imediatamente notaram uma melhoria. Além de oferecer uma verdadeira solução multiplataforma, também ficou muito mais fácil integrar novos engenheiros. Eles também gostaram muito das capacidades de teste integradas, que tornaram muito mais fácil manter a qualidade e estabilidade do app.
Resultados
O Rive lançou seu editor construído inteiramente em Flutter. Sua base de código agora é muito mais fácil de manter e permite que engenheiros se integrem e comecem a escrever código imediatamente.
Eles também descobriram que é muito fácil adicionar peças customizadas no Flutter. A construção de recursos é mais fácil e divertida, e designers conseguem mexer melhor e criar protótipos. Isso permitiu que eles desenvolvessem experiências muito mais ricas no Rive, incluindo animações, gráficos interativos e layouts fluidos e reativos.
A estabilidade geral do app também melhorou. Graças aos recursos de teste integrados, eles agora executam milhares de testes por build, o que lhes deu a confiança para passar a um ciclo de lançamento diário.
Com base em seu sucesso, a equipe está agora trabalhando no lançamento de um aplicativo desktop para MacOS. Para este lançamento, a equipe diz que nem mesmo precisa fazer muita customização, pois a abstração já foi feita. Eles também descobriram que é muito fácil adicionar peças customizadas no Flutter. A construção de recursos é mais fácil e divertida, e designers conseguem mexer melhor e criar protótipos. Isso permitiu que eles desenvolvessem experiências muito mais ricas no Rive, incluindo animações, gráficos interativos e layouts fluidos e reativos.