Flutter: Como “inspecionar” seu aplicativo usando vscode

Fabiano Santana
Tableless
Published in
5 min readJun 21, 2019

--

Inspect Google Chrome

Uma dos recursos mais interessantes hoje em dia no desenvolvimento web é o Inspecionar que vem de padrão no Google Chrome e em quase todos os browsers também. O inspecionar ajuda a ver o comportamento da aplicação, árvore do DOM, debuggar javascript, acesso aos recursos baixados durante a execução da aplicação, verificar as requisições feitas, verificar cache, limpar cache, limpar cookies. Enfim, é um recurso completo para os desenvolvedores terem controle sobre a aplicação.

No Flutter também temos um recurso parecido com o inspecionar do Chrome, lá temos o "Dart DevTools" que ajuda a verificar a árvore de widgets, pesquisar de onde surgiu o widget, verificar uso de memória, tempo de renderização e alguns outros recursos.

Neste tutorial aprenderemos a como utilizar o Dart DevTools para facilitar o desenvolvimento de aplicativos utilizando o Visual Studio Code.

Configurando o ambiente

Para o tutorial precisaremos que o flutter já esteja no path do nosso OS para conseguirmos criar o aplicativo, se você ainda não possui o flutter basta seguir o tutorial disponível aqui.

Extensões necessárias no Visual Studio Code:

Criando o aplicativo

Depois de instalado o flutter e as extensões, abra o vscode abra o command pallete utilizando o atalho "command + shift + p" no macOS ou "cmd + shift + p" no windows digite

Após criado o aplicativo, inicie uma instância de simulador Android ou iOS e pressione F5.

Agora vamos inspecionar esse aplicativo, volte no vscode abra novamente o command pallete e digite

Ao selecionar a opção, uma nova instância do seu browser irá abrir e mostrará a seguinte página

Agora iremos verificar os recursos mais interessantes do Dart DevTools, vamos lá:

Select Widget Mode

Permite você selecionar um widget diretamente do aplicativo, ao selecionar o vscode irá te levar automaticamente onde o widget foi criado e no dart devtools vai te mostrar todas as propriedades daquele widget no momento que você selecionou.

Refresh Tree

Quando algum widget ter alteração no estado, é importante utilizar o recurso refresh tree para captar as alterações dentro do dart devtools.

Performance Overlay

Recurso para verificar a quantidade de frames que seu aplicativo está executando. Mostra o gráfico de uso da aplicação em tempo real.

Debug Paint

Recurso para que ajuda a verificar cada widget da sua árvore, ele exibe as linhas de dimensão de cada widget. Recurso muito bom e fica melhor ainda quando combinado com o Select Widget Mode, pois aumenta a precisão na hora de selecionar um widget específico.

Timeline

O timeline serve para ver o tempo gasto ao executar alguma ação no aplicativo em milessegundos, ele separa o tempo gasta com o processamento (GPU) e o tempo gasto na interface (UI).

Memory

Memory é um recurso essencial para evitar memory leak dentro do nosso aplicativo, ele permite monitorar o tanto de memória ram que nosso aplicativo está gastando.

Logging

No logging temos acesso a todas interações da nossa aplicação, o logging exibe mensagens de alerta, erros e também os prints, como se fosse o console do depurador web.

Debugger

O debugger como o próprio nome já diz, te permite debugar a aplicação, porém como estamos no vscode por padrão ao utilizar o F5 podemos debugar diretamente por lá.

Conclusão do autor

O pessoal da equipe do Flutter se preocupou bastante no dev experience e isso também deve ser levado em consideração na hora de escolher um framework para o desenvolvimento mobile.

Uma coisa que achei que poderia melhorar é o Inspector permitir alterar o valor das propriedades diretamente, como o navegador permite alterar qualquer elemento do DOM com o inspecionar.

O profiler é muito útil para medir a performance do aplicativo e se ele está usando muita memória.

Tem alguns pontos a melhorar, mas acredito que em breve teremos muitas novidades na ferramenta e no flutter também.

Sobre o autor da publicação

Sou Fabiano Santana, tenho 23 anos. Arquiteto de Sistemas com foco em .NET e Analista de Experiência do Usuário, conhecido como o famoso desenvolvedor Full Stack (prefiro chamar de fullydev) e UI Design. Amo de coração criação de UI e como ela aproxima as pessoas.

Seguem meus contatos caso queiram tirar alguma dúvida ou fazer sugestões para melhoria.

--

--

Fabiano Santana
Tableless

Arquiteto de Software .NET / Full Stack .NET Developer / Flutter Developer & UI Designer