Durante muito tempo o Flutter Embbed Desktop ficou operando de forma totalmente separada do SDK padrão do Flutter, porém a partir da versão 1.5.x o Flutter aplicou várias caracteristicas que diz respeito ao Embbed Desktop, começando a integrar funcionalidades para rodar aplicativos nos computadores. Lembrando que tudo que for falado nesse post é referente ao canal “Master” do Flutter, não aconselhamos o uso desse canal se você não estiver sabendo exatamente o que está fazendo.

Dito isso vamos as caracteristicas:

Testes de Plataforma.

Agora podemos testar se o Flutter está sendo rodado no Windows, no Linux ou no Mac. Antes só poderia ser testado em 3, o Android, iOS e o Fuchsia.

Comando flutter run

Instalado o SDK do flutter-embled-desktop, agora você pode executar como dois comandos que usamos para rodar o app nos emuladores de smartphones para rodar diretamente no desktop.
O comando flutter run faz a construção para o seu aplicativo desktop, e se você estiver usando o VSCode basta apertar F5 para executar.
O comando flutter build constroi uma versão de distribuição desse executável.
Note que esses são comandos experimentais, para ativar esses comandos no SDK do flutter você precisa colocar uma VARIÁVEL DE AMBIENTE em seu sistema operacional:

macOS e Linux:


export ENABLE_FLUTTER_DESKTOP=true

Windows (comando do PowerShell, mas você pode seta a variável da forma normal também):


$env:ENABLE_FLUTTER_DESKTOP="true"

Hot Reload e Depuração

No momento que usa o flutter run, fica disponível a url do Observatory, então basta clicar e ver a depuração no Navegador. Você pode ver tudo, status da VM Dart, os Prints da aplicação e etc… Por enquanto os prints da aplicação não são refletidos no console, porém os breakpoints estão 100% funcionais.

O Hot Reload está funcional no Flutter run, porém se tiver utilizando o VSCode e usando o F5 para depurar você precisa setar uma informação no settings.json. Você precisa adicionar a seguinte flag:


"dart.env": {
    "FLUTTER_DESKTOP_EMBEDDING": true,
}

Com isso o Hot Reload irá funcionar também no depurador normal do VSCode.
Ainda não existe nenhuma configuração para o Android Studios diretamente.

Facilidade de Instalação

Agora está muito mais fácil testar o Flutter Embled Desktop. Você vai precisar apenas do SDK e do compilador C++ da plataforma.

Note que o seu SDK do Flutter tem que estar no Channel Master, para fazer isso basta usar o comando: flutter channel master

Para conseguir o SDK do Flutter embled desktop basta clonar (Git) este repositório na mesma pasta onde se encontra o SDK do Flutter, por exemplo:


<parent dir>
  ├─ flutter
  └─ flutter-desktop-embedding

Agora você só precisa dos compiladores C++:

  • Linux: Versão recente do GCC
  • macOS: Versão recente do Xcode
  • Windows: Visual Studio 2017 (Estou testando a 2019)

Uma dica principalmente para quem usa o Windows e o macOS, é entra ba pasta do flutter-desktop-embedding, depois na pasta example, e ai procurar a pasta da sua plataforma, por exemplo Windows. Ali você encontrará um projeto, (Do Visual Studios ou do Xcode), abra esses projetos e execute diretamente pela IDE, assim poderá baixar alguns artefatos que esteja faltando na sua máquina.

Pronto, se quiser ver o Flutter desktop em ação abra o projeto da pasta example e execute com o flutter run ou se estiver no VSCode F5.

Até a próxima.