Categorias

Sete dicas de Flutter para iniciantes

É impossível negar que o Android venceu a guerra das plataformas móveis e se tornou o sistema operacional mais popular nesse mercado. Entretanto, não se trata de uma vitória definitiva ou um monopólio e o iOS da Apple não dá qualquer sinal de que vá desaparecer ou se tornar irrelevante, muito pelo contrário.

Dessa forma, desenvolvedores que cobiçam esse mercado com seus aplicativos devem estar preparados para atingir os dois sistemas operacionais para maximizar o volume de usuários alcançados. Isso significa desenvolver para as duas plataformas, o que pode significar trabalho em dobro se não forem utilizadas as tecnologias e técnicas mais adequadas.

Flutter é uma dessas soluções criadas para facilitar a vida de quem precisa trabalhar para Android e iOS. Ele é uma ferramenta SDK de interface de usuário desenvolvida pelo Google justamente para facilitar essa ponte entre os dois ecossistemas, oferecendo uma base de código comum. A meta aqui é permitir que desenvolvedores produzam aplicações que pareçam naturais nos dois ambientes, sem perda de performance para o usuário e sem fricção para o programador.

Começar a aprender os meandros do Flutter não é complicado, mas trazemos aqui sete atalhos que podem tornar ainda mais tranquila essa jornada.

1) Não tente aprender Dart desde o início

Flutter utiliza Dart, uma linguagem que é até bastante fácil de aprender, inclusive para quem está começando a programar. Entretanto, se o tempo está curto e você está dando seus primeiros passos em Flutter, você não irá precisar de Dart nesse contato inicial para conseguir colocar um aplicativo para funcionar ou gerar uma interface. Essa é uma das vantagens do Flutter, o que o torna atraente até mesmo para curiosos que desejam criar seu primeiro aplicativo.

Na verdade, é até melhor que você primeiro se familiarize com o Flutter, descubra os princípios básicos do layout, preencha sua tela e depois separe um tempo para aprender Dart. Primeiro, porque você vai precisar de Dart se quiser ir longe no desenvolvimento móvel. Segundo, você conseguirá absorver melhor Dart depois de ter tido uma prévia do que o Flutter é capaz.

2) Estabeleça uma trilha de metas

Sempre que estiver aprendendo algo, é importante estabelecer metas de conhecimento. Isso planifica o aprendizado, diminui o stress de encarar todo um novo horizonte de uma vez e oferece uma sensação de progresso palpável. Nick Manning é um evangelista de Flutter e Dart e estabeleceu uma trilha de metas que podem ser seguidas por qualquer um:

  • Marco um: seja capaz de desenvolver uma tela com um layout simples, texto, um botão que não funcione e uma imagem.
  • Marco dois: seja capaz de executar seu aplicativo em seu telefone real. Isso é muito legal e muito motivador.
  • Marco três: Aprenda a conectar um botão, alterar algum estado e renderizá-lo na tela usando um StatefulWidget.
  • Marco quatro: leve algumas horas para ler sobre o Dart (essa etapa pode até ser anterior ao marco anterior, se você quiser).
  • Marco cinco: consiga buscar alguns dados de uma API pública (exemplos) e renderizá-los na tela. Entenda como trabalhar com JSON e desserializar.
  • Marco seis: entregue uma versão real para iOS e/ou Android para um amigo.

3) Saiba onde encontrar bons conteúdos em vídeo

Embora a documentação oficial do Flutter seja ampla e bem detalhada e já exista literatura disponível em Português sobre o tema, muita gente que está começando prefere dar seus primeiros passos com tutoriais e cursos em vídeo.

Se você entende Inglês, não faltam boas opções de conteúdo em vídeo:

Por outro lado, também é possível encontrar bom conteúdo sobre Flutter no YouTube em Português:

4) Comece de forma simples com os Widgets

Uma vez que foi desenvolvido pelo Google, o Flutter tem o Material Design e seus widgets como um de seus pilares. Boa parte de sua biblioteca é composta por elementos baseados nesse padrão forjado para o Android. Se você deseja montar uma interface para o usuário rápida e facilmente reconhecida, Material Design é o caminho e o Google sabe disso.

Nesse primeiro contato com o Flutter, é importante se ater aos Widgets padronizados e ao conceito do Material Design. A longo prazo, é claro, você precisará abrir mão dessa comodidade se deseja atingir uma audiência familiarizada com o ambiente iOS.

Embora o Flutter contenha em sua biblioteca Widgets inspirados no layout Cupertino do iOS, o iniciante precisará se esforçar mais para adaptar seu código para funcionar adequadamente em dispositivos Android. Em outras palavras, o Flutter facilita transportar elementos do Material Design para iOs, mas há um atrito maior em levar o Cupertino para Android, em um claro favoritismo para a cartilha do Google.

Não há planos imediatos do Google de reverter ou equilibrar essa tendência em seu SDK.

5) Inspecione mas divida Widgets

Observar como algo foi feito é um dos métodos preferidos de muitos desenvolvedores. Por conta disso, “inspecionar o elemento” é uma ferramenta tão útil em vários IDEs de debugadores. Em Flutter, nós temos o Flutter Inspector.

Clique na ferramenta, ative a opção “Enable Select Widget Mode” e selecione qualquer Widget na tela. Esse caminho é mais visual e fácil do que tentar encontrar determinado Widget em um arquivo Dart, mesmo quando ele está bem estruturado. Com o Flutter Widget Inspector basta localizar o elemento na tela e visualizar suas propriedades.

Uma vez que você esteja familiarizado com os Widgets, pode ser tentados estabelecer uma árvore gigante deles na sua aplicação. Entretanto, preparar uma árvore longa de Widgets não é recomendado nessa fase do aprendizado. O resultado é difícil de ler, difícil de compreender e pode gerar problemas de performance para seu aplicativo. O melhor caminho é dividir a árvore de Widgets em blocos menores de Widgets stateless.

Fazer isso, é mais fácil do que parece: basta clicar com o botão direito e selecionar as opções Refactor | Extract | Flutter Widget.

6) Prepare-se para frustrações

Flutter tem um amplo conjunto de vantagens e se você deu o primeiro passo nessa jornada já deve estar convencido disso. Entretanto, ele não é uma solução para todos os problemas de desenvolvimento móvel, não é perfeito e também apresenta novos problemas para a mesa, em troca de sua praticidade.

Uma dessas desvantagens é o tamanho gerado do aplicativo. É notório que os usuários estão sempre lutando por mais espaço em seus dispositivos, mesmo que a capacidade de armazenamento siga subindo a cada geração. Desenvolvedores vem lutando para vencer essa barreira, comprimindo ao máximo seus aplicativos.

Entretanto, um simples aplicativo de “Hello, World” de Flutter pode chegar a 4.7 MB de espaço. Parece pouco, mas no super-competitivo ecossistema móvel, isso pode significar a diferença entre o usuário fazer a instalação ou não. Se o usuário precisar passar pela sua galeria para apagar fotos ou vídeos antes de fazer a instalação, ele pode deixar para depois. Para fins comparativos, o mesmo “Hello, World” pode ser feito com 550 KB em Kotlin ou 539 KB com Java.

Outra desvantagem está associada à recente notoriedade do Flutter. Sendo um recurso relativamente novo, ainda não é fácil encontrar pacotes gratuitos de recursos e bibliotecas. Quando estamos falando de desenvolvimento de aplicativos, produtos third-party são fundamentais para agilizar e automatizar processos., por trazerem soluções de código aberto, testadas e aprimoradas. Em se tratando de Flutter, toda a comunidade está ainda em seu momento inicial e ainda paira uma certa incerteza sobre seu futuro de longo prazo.

7) Aprenda onde obter ajuda e suporte

Como em qualquer tecnologia, framework ou linguagem que surge, todos crescem juntos aprendendo juntos e nenhum desenvolvedor deve ser um lobo solitário. Você pode e deve conseguir ajuda e suporte em vários canais da comunidade Flutter: