Um desenvolvedor React-Native se aventurando no Flutter.

Wes Guirra
React Brasil
3 min readNov 29, 2019

--

Fala galera, Beleza? Espero que sim!

Antes de mais nada gostaria de dizer que o objetivo deste post é ser breve e apenas expor minha experiência com Flutter, também pretendo ir iterando as minhas ideias aqui, com sugestões e experiências de outros desenvolvedores.

Há algum tempo, mais especificamente há dois meses, comecei a estudar Flutter, meu objetivo era apenas me aventurar por terras novas, inicialmente não busquei cursos ou treinamentos.

O desafio

Eu acredito muito no aprendizado prático, colocando a mão na massa e concretizando o que antes era apenas uma ideia. Com base nisso meu primeiro passo para me estender com Flutter, foi pensar em algo que eu pudesse desenvolver de forma rápida e que também exigisse o maior número possível de cenários reais, com isso cheguei a decisão de construir uma calculadora de combustível, onde fosse possível basear o cálculo do valor na rota que o veículo faria, calcular ida e volta, mostrar um mapa com traço da rota que seria feita, exibir anúncios nativos para o usuário e como um bónus disponibilizar uma lista com preços de combustível dos postos próximos ao usuário além de possibilitar a atualização do preço.

Tenho então algumas integrações a serem feitas, são elas:

  • Integração com a ANP, consumindo CSV para atualização dos preços;
  • Integração com API de preços (essa eu mesmo fiz utilizando Ruby on Rails);
  • Integração com a API de mapas e direções do Google;

Começando

Iniciei com o desenvolvimento das telas, já havia criado um protótipo para isso. Venho de um cenário em que usava apenas react-native, logo vi que o Flutter não era muito diferente com seus Componentes (Widgets) Stateful e Stateless, o que logo me chamou a atenção foi a sintaxe do dart que é muito parecida com a do JavaScript, diminuindo drasticamente minha curva de aprendizado em relação à linguagem em si.

UI Declarativa e direta

Outro ponto positivo para o Flutter é a forma de declarar widgets e a interface, o que é muito menos prolixo do que no React por exemplo, pois com menos linhas de código conseguimos chegar à um resultado parecido ou muitas vezes até melhor do que se estivessemos usando React.

Arquitetura

Falando um pouco sobre o arquitetura, para um projeto simples consegui me virar muito bem sem o uso de muitos padrões, como BLoC, Repositories e TDD, mas conforme o projeto ia crescendo em termos de funcionalidades, ia sentindo cada vez mais a necessidade de usar estes padrões.

Comunidade

A comunidade do Flutter está crescendo bem rápido e o resultado disso são cada vez mais plugins e packages sendo disponibilizados no repositorio do pub.dart, estes plugins me ajudaram muito com as integrações, a maioria destes que usei, possuem boas opções de customização e se mostraram simples de utilizar, mesmo nas tarefas mais complexas.

Integração com APIs Nativas

Outro desafio que tive, foi a integração com APIs nativas no caso o anúncio nativo, decidi desenvolver um plugin para isso o que se mostrou muito efetivo, a conversa com a API nativa é muito eficaz, consegui passar parametros de praticamente todos os tipos até mesmo Enums, mais uma vez utilizando o poder do dart para isso.

Tempo gasto em tarefas

Por ser mais direto e possuir uma curva de aprendizagem muito baixa, consegui concluir tarefas, telas e lógicas de negócio com muita velocidade, usando pouco do meu tempo disponivel, consegui finalizar esta aplicação em menos de duas semanas, (incluindo Back-end, design de telas e publicações em loja), em todo o tempo de aprendizado que dediquei ao flutter consegui entregar um total de 3 aplicações, duas back e front e uma somente front, acredito que não preciso mais dizer sobre o quanto o Flutter é efetivo.

Resultado final

Este foi o resultado final dessa experiência: https://play.google.com/store/apps/details?id=es.dgtalhero.rotacombustivel

Em breve vou escrever tutoriais sobre Flutter, caso se interesse basta me seguir aqui mesmo no Medium.

É isso galera espero que o post tenha sido útil, não se esqueça de apertar algumas vezes no botão de aplausos, isso é muito importante pra mim pois me incentiva a continuar escrevendo e compartilhando experiências. Aguardo vocês no próximo post! Até lá!

--

--

Wes Guirra
React Brasil

Desde que me entendo por gente, procuro maneiras de inovar para melhorar o mundo em que vivemos.