Um movimento rápido e crescente vem acontecendo com o Framework Flutter desde o seu lançamento em Novembro/2018 pela equipe do google.

É inegável a curiosidade inicial se tornar um forte interesse em conhecer seu funcionamento.
Em geral um material para abordar um nova linguagem deveria iniciar fazendo sua introdução. Como já é possível encontrar material suficiente na internet para iniciar o trabalho – creio ser desperdício de tempo dedicar tempo para isto quando já tem muitas pessoas falando ou escrevendo a respeito.

Não tenho dúvida que o principal diferencial de Flutter, além da sua beleza em produzir material de qualidade é a velocidade que se pode escrever um novo projeto utilizando o framework. Trabalhando com o Flutter passei a entender ser a produtividade seu principal ponto forte.

Flutter x Dart

O Dart como linguagem de suporte ao framework do Flutter é uma derivação inicial do javascript o que deixa todo iniciante bem a vontade se teve algum contato com javacript em sua trajetória anterior. Depois de seu descolamento do javascript passou a ter novas funcionalidades, mesmo que ainda possa gerar um código puro javascript quando utiliza o dart2js para fazer um transpiler entre as linguagens.

Transpiler

Transpiler parece mesmo ser a nova tendência que as novas linguagens vem usando como sinônimo para escrever códigos em uma linguagem e distribuir para outra linguagem ou plataforma.
Como tal Dart com flutter é capaz de gerar código para iOS, Android, WebBrowser e soluções para Desktop em gestação.
Amantes do NodeJs encontrarão no Dart suporte para gerar soluções de aplicações servidoras tão poderosas quanto ao NodeJs o que torna o Dart uma solução imbatível se levar em consideração o potencial de troca de bibliotecas entre as várias opções que suporta.

Packages para Flutter

Instalar Flutter é bem simples, basta seguir as instruções da página principal em Instalar Flutter .
Concluído a instalação já é possível sair criando aquele projeto “ALO MUNDO” tradicional sem muita dificuldade. Quer saber mais Exemplo.
A comunidade se movimentou muito rápido em torno do Flutter e vem disponibilizando um crescente número de pacotes adicionando novas funcionalidades, widgets e recursos visuais, então não deixa de dar uma passadinha no Repositório de Pacotes onde irá encontrar exemplos e modelos de como inserir os pacotes no seu aplicativo.

Widgets

Não entender Widget é próximo do impossível trabalhar com Flutter, então não perca tempo, vai logo tomando contato com uma infinidade de Widget Flutter que estão disponíveis. Para entrar em contato com uma documentação mais completa é possível ver diretamente nos fontes do próprio flutter, basta seguir os códigos fontes de origem, ou ainda fazer acesso na página de documentação do flutter. Mesmo depois de um bom tempo, ainda tenho alguma dificuldade em entender aquela documentação que apresenta exemplos em poucas páginas o que vem sendo construído ao longo do tempo. Se este for o seu caso o melhor caminho é ir direto no Youtube e procurar por Flutter e encontrará farto material para estudar e iniciar sua trajetória.

DartPad – Experimentando Dart

Que dar uma palhinha para medir o potencial do Dart.
É possível fazer simulações diretamente no seu browser usando o DartPad digitando o código Dart diretamente no editor de texto e RUN para obter o resultado.

Um exemplo para testar:

void main() {
  var cores = ['azul', 'amarelo', 'vermelho', 'preto'];

  var resultado = [
    'pink',
    for (cor in cores) cor,
    'verde'
   ];

  print('Result1');
  print(resultado);

  print('Result2');
  print([...resultado,...cores]);
}

resultados:

Result1
[pink, azul, amarelo, vermelho, preto, verde]

Result2
[pink, azul, amarelo, vermelho, preto, verde, azul, amarelo, vermelho, preto]