Beto Muniz

O que você também pode aprender criando seu aplicativo com Flutter

tech3 min read

Neste artigo falo sobre a minha experiência criando o Listtta usando Flutter, o framework Dart para criação de aplicativos móveis.

E pra dar contexto (merchanzin? 🤣), o que é o Listtta?

O Listtta

O Listtta foi a materialização de uma ideia que eu tinha sobre otimizar o consumo de conteúdo do Twitter através de listas customizadas.

Além disso, o Listtta foi um projeto piloto, pois me possibilitou testar diversas soft skills de gestão de projetos que venho desenvolvendo por anos na minha carreira, ou seja, meu foco não era código e/ou o tipo de produto em si.

Meu foco era praticar conhecimento adiquirido.

E agora que você entendeu um pouco sobre o Listtta e o porque eu decidi criá-lo, bora falar um pouco das escolhas tecnológicas que fiz.

Escolhas Tecnológicas

Sendo prático, o Listtta usa bastante da API do Twitter, sendo essa a única base de conteúdo disponibilizada atualmente.

E não apenas isso, utilizei também o Firebase Auth e o Firestore para o fluxo de autenticação do aplicativo, pois possuem excelente integração com o Flutter.

E por fim, a escolha do Flutter e do seu ecossistema me possibilitou conectar toda a regra de negócio numa interface amigável com experiência única de consumo.

E o que aprendi sobre o Flutter neste projeto?

Bom, não consigo levantar todos os pontos fortes que experimentei apenas num artigo, mas destacando os top 6 da minha experiência:

  1. Entrega para Android e iOS plenamente viável. No Listtta, 99% do código é compartilhado entre as duas plataformas.
  2. Curva de aprendizado do Dart é muito baixa. Sim, foi meu maior receio no início, mas para mim, que já tenho contato com JavaScript, TypeScript, e já trabalhei com React Native para criação de apps cross-platform, a adaptação foi questão de uma semana ou menos.
  3. Indução natural a boas práticas de desenvolvimento. Mesmo que algumas pessoas não gostem de vícios de linguagem em consequência do uso da linguagem Dart, o Flutter incentiva fortemente a modularização na criação dos seus widgets, o que inclusive, por consequência, trará ganhos para manutenção e performance do projeto.
  4. Um ecossistema de comunidade extremamente ativo, estruturado e colaborativo. No Listtta estou utilizando pacotes como shared_preferences e video_player para me ajudar na gestão de local storage e execução de vídeos respectivamente.
  5. Widgets built-in extremamente completos, flexíveis e poderosos. O que reduz drasticamente a necessidade de uso de projetos de terceiros defasados OU projetos que existem apenas para resolver problemas que a própria plataforma deveria resolver (polyfills/extensões). Tem tudo lá 😀
  6. Facilidade para gerenciamento de dados na aplicação. No Listtta, usei o método proposto pelo provider, por ser recomendação da Google, e claro, por resolver 100% os problemas do projeto. Inclusive, para quem já trabalhou com React vai sentir mais familiaridade com esse package, pois usa um Design Pattern semelhante ao Context API para lidar com dados.

Enfim, estes são os pontos que eu mais gostei ao trabalhar com o Flutter na criação do Listtta.

E no fim das contas, deu certo a experiência?

Com toda certeza, fui plenamente suportado pelas decisões técnicas que tomei, tal como, pelo planejamento que defini. Afinal, o Listtta está ai operante faz 8 meses.

Mas esse é só o começo, quero tirar mais ideias do papel, e claro, dado a atual maturidade do framework, certamente utilizarei o Flutter para isso.