<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nathan Ferreira</title>
    <description>The latest articles on DEV Community by Nathan Ferreira (@nahtanpng).</description>
    <link>https://dev.to/nahtanpng</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F868947%2Fe994dfa5-7491-4768-8088-e2bd35e633b8.jpeg</url>
      <title>DEV Community: Nathan Ferreira</title>
      <link>https://dev.to/nahtanpng</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nahtanpng"/>
    <language>en</language>
    <item>
      <title>WakaTime: Uma Forma de Aumentar Sua Produtividade e Gerenciar Seu Tempo</title>
      <dc:creator>Nathan Ferreira</dc:creator>
      <pubDate>Wed, 20 Sep 2023 19:22:23 +0000</pubDate>
      <link>https://dev.to/nahtanpng/wakatime-uma-forma-de-aumentar-sua-produtividade-e-gerenciar-seu-tempo-568p</link>
      <guid>https://dev.to/nahtanpng/wakatime-uma-forma-de-aumentar-sua-produtividade-e-gerenciar-seu-tempo-568p</guid>
      <description>&lt;h2&gt;
  
  
  Introdução:
&lt;/h2&gt;

&lt;p&gt;No mundo do desenvolvimento de software, cada minuto gasto de forma eficiente faz a diferença. Por conta disso, apresento à vocês: &lt;strong&gt;WakaTime&lt;/strong&gt;. Uma extensão que possibilita gerenciar seu tempo gasto em cada projeto, e além de tudo, aumentar sua produtividade.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tópicos abordados &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;O que é o WakaTime&lt;/li&gt;
&lt;li&gt;Aumentando a Produtividade com o WakaTime&lt;/li&gt;
&lt;li&gt;Configurando o WakaTime&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  O que é o WakaTime &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;O WakaTime é uma extensão que pode ser integrada facilmente em diferentes ambientes de desenvolvimento. A sua principal função é te auxiliar no gerenciamento de tempo em cada projeto, proporcionando uma dashboard com diversas informações como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Gráfico de linha demonstrando sua atividade semanal&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Comparação com a sua média diária&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gráfico com horas totais de codificação em um dia&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gráfico em pizza mostrando suas linguagens&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gráfico em pizza mostrando seus editores&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvh5m4rgg25mek0w973ek.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvh5m4rgg25mek0w973ek.png" alt="dashboard" width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vale lembrar que a extensão está disponivéis em diversas IDE's e outros programas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6vrrrhq5w8filrdlaan.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6vrrrhq5w8filrdlaan.png" alt="programas" width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Aumentando a Produtividade com o WakaTime &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Com o WakaTime é possível definir metas para você cumprir durante o tempo que você desejar, essas metas podem variar de acordo com suas necessidades, tendo como opções:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Horas gerais da sua semana&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Um projeto&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Uma linguagem&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Um editor&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Com isso você pode gerenciar sua semana, seus estudos e seus projetos de uma forma fácil e prática e claro, gratuitamente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configurando o WakaTime &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A configuração é a parte mais simples, vamos ao passo a passo:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Vá em &lt;a href="https://wakatime.com/login"&gt;https://wakatime.com/login&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Crie sua conta&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Após a criação você receberá a sua API KEY, que será utilizada na extensão&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Abra seu editor de código&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Procure a extensão WakaTime&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Baixe a extensão e coloque a sua API key&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Agora você tudo estará sendo guardado na sua Dashboard em &lt;a href="https://wakatime.com/dashboard"&gt;https://wakatime.com/dashboard&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Em resumo, o WakaTime é mais do que apenas uma extensão. Ele é uma ferramenta poderosa que pode ajudar você a melhorar sua produtividade, gerenciar seu tempo e suas metas. Comece a usar e veja a diferença!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voltar ao inicio do artigo ↑&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Referências
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://wakatime.com/"&gt;Site oficial do WakaTime&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Muito obrigado por ler até aqui, não esqueça de curtir e compartilhar o artigo! 😁💙&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Explorando o Flutter: Um Guia Básico para Iniciantes</title>
      <dc:creator>Nathan Ferreira</dc:creator>
      <pubDate>Sun, 10 Sep 2023 21:32:17 +0000</pubDate>
      <link>https://dev.to/nahtanpng/explorando-o-flutter-um-guia-basico-para-iniciantes-55l6</link>
      <guid>https://dev.to/nahtanpng/explorando-o-flutter-um-guia-basico-para-iniciantes-55l6</guid>
      <description>&lt;h2&gt;
  
  
  Introdução:
&lt;/h2&gt;

&lt;p&gt;Você está interessado em entrar no mundo de desenvolvimento mobile  ou já ouviu falar sobre Flutter e está curioso para entender mais sobre esse poderoso framework? Se sim, você está no lugar certo! Com o passar dos anos o Flutter tem ganhado destaque como uma escolha para desenvolvedores que desejam criar aplicativos para Android e iOS. Neste guia, exploraremos o que é o Flutter até o seu primeiro aplicativo! 📱💙&lt;/p&gt;

&lt;h2&gt;
  
  
  Tópicos abordados &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;O que é o Flutter&lt;/li&gt;
&lt;li&gt;Principais features do Flutter&lt;/li&gt;
&lt;li&gt;
Configurando o Ambiente de Desenvolvimento

&lt;ul&gt;
&lt;li&gt;Flutter&lt;/li&gt;
&lt;li&gt;Dart&lt;/li&gt;
&lt;li&gt;IDE&lt;/li&gt;
&lt;li&gt;Emulador&lt;/li&gt;
&lt;li&gt;Modo alternativo&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Criando seu Primeiro App com Flutter&lt;/li&gt;

&lt;li&gt;Benefícios do Flutter&lt;/li&gt;

&lt;li&gt;Desafios e Soluções&lt;/li&gt;

&lt;li&gt;Referências&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  O que é o Flutter? &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Flutter é um framework de código aberto do Google para a construção de belos aplicativos multiplataforma, compilados nativamente a partir de uma única base de código, de acordo com o &lt;a href="https://flutter.dev" rel="noopener noreferrer"&gt;site oficial do Flutter&lt;/a&gt;. Mas o que ele quer dizer com tudo isso? Simples: o seu código escrito em Flutter pode ser executado em diferentes plataformas, como website, mobile e software. Olha que maneiro! Vale lembrar que o framework usa a linguagem de programação *&lt;em&gt;Dart *&lt;/em&gt; como base.&lt;/p&gt;

&lt;h2&gt;
  
  
  Principais features do Flutter &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Uma das principais características do Flutter é a utilização de widgets na construção da aplicação. Widgets são elementos individuais de uma interface de usuário que variam em suas mais diversas formas, desde botões até mesmo layouts complexos com colunas e linhas. A árvore de widgets do Flutter descreve a hierarquia dos widgets em seu aplicativo. Aqui está um pequeno exemplo:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;

&lt;span class="n"&gt;Widget&lt;/span&gt; &lt;span class="nf"&gt;build&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BuildContext&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;Container&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="n"&gt;Column&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nl"&gt;children:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
          &lt;span class="n"&gt;TextButton&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="nl"&gt;onPressed:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt;
            &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Sou um Widget'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
          &lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;No exemplo acima, temos três tipos de widgets: Container, que contém uma coluna, e dentro dessa coluna, um botão.&lt;/p&gt;

&lt;p&gt;Além disso o Flutter possui &lt;strong&gt;Hot Reload&lt;/strong&gt; um recurso que te permite ver instantaneamente as mudanças que você realizou no código, seja durante a criação da interface, adição de novas features etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configurando o Ambiente de Desenvolvimento &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Vamos agora para a parte de instalação, ela será dividida em 4 partes: Flutter, Dart, IDE (ambiente de desenvolvimento integrado) e emulador.&lt;/p&gt;

&lt;h3&gt;
  
  
  Flutter &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://docs.flutter.dev/get-started/install" rel="noopener noreferrer"&gt;Clique aqui para abrir a documentação oficial do flutter na parte de instalação&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selecione o seu sistema operacional&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Baixe o arquivo .zip&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxjv8on5q8sagatdj4w8v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxjv8on5q8sagatdj4w8v.png" alt="Ilustração do arquivo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Extraia o .zip e coloque a pasta no diretório (C:)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Na barra de pesquisa do Windows digite "Variáveis de Ambiente" e clique, agora no canto inferior direito clique em variáveis de ambiente&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv787k8otq64fojnu0ujl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv787k8otq64fojnu0ujl.png" alt="Imagem mostrando a barra de pesquisa"&gt;&lt;/a&gt; &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsq3iv31uh1z23jjja0ah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsq3iv31uh1z23jjja0ah.png" alt="Imagem mostrando o botão variáveis de ambiente"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clique em &lt;strong&gt;PATH&lt;/strong&gt; e logo depois em &lt;strong&gt;Editar&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6bded2l7zgygl95uu0tr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6bded2l7zgygl95uu0tr.png" alt="Imagem mostrando onde está o PATH"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Clique em &lt;strong&gt;Novo&lt;/strong&gt; e coloque o endereço "C:\flutter\bin" (Se você tiver colocado em outra pasta tenha certeza que o endereço esteja correto ;D)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Logo após isso a sua instalação do Flutter foi concluída, para testar abra o seu CMD e digite "flutter doctor".&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhwufb0g9kug8wobpu850.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhwufb0g9kug8wobpu850.png" alt="Imagem mostrando a execução do comando flutter doctor"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Dart &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Para instalação do Dart vamos utilizar o Chocolatey, um gerenciador de pacotes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Procure na barra de pesquisa : Windows Powershell, e abra em modo administrador&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;E coloque o seguinte comando &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Após a instalação execute o comando &lt;code&gt;choco&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwju86cfp13svbf7ui6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwju86cfp13svbf7ui6b.png" alt="Imagem demonstrando o comando"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Agora para instalar o Dart digite &lt;code&gt;choco install dart-sdk&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Após a instalação digite &lt;code&gt;dart --version&lt;/code&gt; para ver se a instalação deu certo&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  IDE &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Como IDE vamos utilizar o Visual Studio Code&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Vá ao &lt;a href="https://code.visualstudio.com/Download" rel="noopener noreferrer"&gt;site&lt;/a&gt; e baixe a versão de acordo com seu sistema operacional&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Logo após a instalação vamos instalar a extensão do Flutter e do Dart&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx2mupm8adk922bef83si.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx2mupm8adk922bef83si.png" alt="Demonstração da extensão Dart"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqgqli3bvhqvpawv820ir.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqgqli3bvhqvpawv820ir.png" alt="Demonstração da extensão Flutter"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agora seu Visual Studio Code está pronto para uso&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Emulador &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Agora vamos configurar onde você verá sua aplicação rodando&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Vá até o site do &lt;a href="https://developer.android.com/studio?gclid=Cj0KCQjw0vWnBhC6ARIsAJpJM6fh_C3fVLUubcJryaOuxC54XDiJNjqJ3NHRR3qVrVWLEq4H1EDCTnQaAjkhEALw_wcB&amp;amp;gclsrc=aw.ds" rel="noopener noreferrer"&gt;Android Studio&lt;/a&gt; e baixe a IDE&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Siga as etapas de instalação&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Agora vá em More actions &amp;gt; Virtual Device Manager&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9ric6qbimim3pws55tk.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9ric6qbimim3pws55tk.gif" alt="Gif demonstrando a instrução acima"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;É comum ja vir configurado um emulador, mas você pode configurar da maneira que você quiser&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Modo alternativo &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Os emuladores costumam ser bem pesados, então, existe um método alternativo para visualizar sua aplicação utilizando seu próprio celular&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ative o modo desenvolvedor em seu celular&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Entre nas configurações de desenvolvedor &amp;gt; Ative a opção de &lt;strong&gt;Depuração USB&lt;/strong&gt; &amp;gt; &lt;strong&gt;Ative a Intalação por USB&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Conecte seu celular no computador e pronto!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Criando seu Primeiro App com Flutter &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Vamos colocar a mão na massa! Criar seu primeiro aplicativo Flutter é emocionante e surpreendentemente simples.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Abra seu Terminal/CMD&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Vá até a pasta de sua preferência e digite &lt;code&gt;flutter create nome_do_app&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpnx30lap0f6bt6ms1933.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpnx30lap0f6bt6ms1933.png" alt="Demonstração do comando"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Agora digite &lt;code&gt;cd nome_do_app&lt;/code&gt; e logo após isso &lt;code&gt;code .&lt;/code&gt;para abrir no Visual Studio Code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Nosso arquivo da aplicação fica localizada na pasta: &lt;strong&gt;lib&lt;/strong&gt; &amp;gt; &lt;strong&gt;main.dart&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selecione o dispositivo onde será instalado a aplicação, é possível realizar isso no canto inferior direito. É nesta estapa onde você pode optar por utilizar seu próprio celular.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4h3myrmopan8q95gquu5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4h3myrmopan8q95gquu5.gif" alt="Gif explicativo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agora vamos compilar nosso aplicativo e visualizar ele, vá no topo da janela e clique em Run &amp;gt; Run without debugging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbojaobax8pnipwwrz3d.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbojaobax8pnipwwrz3d.gif" alt="Gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;E agora pronto, você tem sua primeira aplicação feita e está pronto para entrar nessa jornada de aprendizado!&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Benefícios do Flutter &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Uma das maiores vantagens do Flutter é a capacidade de criar aplicativos de alta qualidade para Android e iOS com um único código-base. Isso economiza tempo e recursos no desenvolvimento de aplicativos para múltiplas plataformas. &lt;/p&gt;

&lt;h2&gt;
  
  
  Desafios e Soluções &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;É claro que nenhum framework está isento de desafios. Você pode encontrar obstáculos ao longo do caminho, como a curva de aprendizado da linguagem Dart ou a necessidade de se adaptar ao modelo de widgets do Flutter. Felizmente, há uma comunidade ativa de desenvolvedores e muitos recursos disponíveis para ajudá-lo a superar esses desafios.&lt;/p&gt;

&lt;p&gt;Com base na minha experiência eu recomendaria aprender o básico de Dart antes de entrar de cabeça no Flutter, apenas para você se familiarizar mais com a linguagem e framework.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voltar ao inicio do artigo ↑&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Referências &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://flutter.dev" rel="noopener noreferrer"&gt;Flutter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://dart.dev" rel="noopener noreferrer"&gt;Dart&lt;/a&gt;&lt;br&gt;
&lt;a href="https://chocolatey.org" rel="noopener noreferrer"&gt;Chocolatey&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Muito obrigado por ler até aqui, não esqueça de curtir e compartilhar o artigo! 😁💙&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>beginners</category>
      <category>programming</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Gerenciamento de Estado no Flutter, aprenda de uma vez!</title>
      <dc:creator>Nathan Ferreira</dc:creator>
      <pubDate>Wed, 06 Sep 2023 21:23:30 +0000</pubDate>
      <link>https://dev.to/nahtanpng/gerenciamento-de-estado-no-flutter-aprenda-de-uma-vez-51k8</link>
      <guid>https://dev.to/nahtanpng/gerenciamento-de-estado-no-flutter-aprenda-de-uma-vez-51k8</guid>
      <description>&lt;p&gt;No desenvolvimento de aplicativos móveis com o Flutter, uma das decisões mais importantes que os desenvolvedores enfrentam é como gerenciar o estado da aplicação. O estado é fundamental para manter informações, responder a interações do usuário e atualizar a interface do usuário. No Flutter, existem dois principais paradigmas de gerenciamento de estado: Stateless e Stateful.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stateless Widgets
&lt;/h3&gt;

&lt;p&gt;Os Stateless Widgets são componentes no Flutter que não possuem estado interno mutável. Isso significa que, uma vez que você os construiu com um conjunto específico de propriedades, eles permanecem imutáveis durante o ciclo de vida do widget. Os Stateless Widgets são ideais para partes da interface do usuário que não precisam mudar com o tempo ou não dependem do estado.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:flutter/material.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MyApp&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;StatelessWidget&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="n"&gt;MyApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="n"&gt;Widget&lt;/span&gt; &lt;span class="n"&gt;build&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BuildContext&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;Scaffold&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nl"&gt;appBar:&lt;/span&gt; &lt;span class="n"&gt;AppBar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="nl"&gt;title:&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="nl"&gt;body:&lt;/span&gt; &lt;span class="n"&gt;Center&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Olá, mundo!"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neste exemplo, o widget MyApp é stateless porque ele não mantém nenhum estado interno. Ele simplesmente constrói uma interface do usuário com base nas propriedades fornecidas (no caso, o title) e não muda ao longo do tempo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stateful Widgets
&lt;/h3&gt;

&lt;p&gt;Os Stateful Widgets são usados quando você precisa que parte da interface do usuário seja atualizada de acordo com as mudanças no estado do aplicativo. Eles possuem um estado interno mutável que pode ser modificado ao longo do tempo. Quando o estado muda, o Flutter recria o widget para refletir essas alterações.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:flutter/material.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CounterApp&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;StatefulWidget&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="n"&gt;State&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;CounterApp&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;createState&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;_CounterAppState&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;_CounterAppState&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;State&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;CounterApp&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;_counter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;_incrementCounter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;setState&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="n"&gt;_counter&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="n"&gt;Widget&lt;/span&gt; &lt;span class="n"&gt;build&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BuildContext&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;Scaffold&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nl"&gt;appBar:&lt;/span&gt; &lt;span class="n"&gt;AppBar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="nl"&gt;title:&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Exemplo Stateful'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="nl"&gt;body:&lt;/span&gt; &lt;span class="n"&gt;Center&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="n"&gt;Column&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="nl"&gt;mainAxisAlignment:&lt;/span&gt; &lt;span class="n"&gt;MainAxisAlignment&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;center&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="nl"&gt;children:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Widget&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;[&lt;/span&gt;
              &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="s"&gt;'Contador:'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="p"&gt;),&lt;/span&gt;
              &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="si"&gt;$_counter&lt;/span&gt;&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nl"&gt;style:&lt;/span&gt; &lt;span class="n"&gt;Theme&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;textTheme&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;titleLarge&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="p"&gt;],&lt;/span&gt;
          &lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="nl"&gt;floatingActionButton:&lt;/span&gt; &lt;span class="n"&gt;FloatingActionButton&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="nl"&gt;onPressed:&lt;/span&gt; &lt;span class="n"&gt;_incrementCounter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="nl"&gt;tooltip:&lt;/span&gt; &lt;span class="s"&gt;'Incrementar'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="n"&gt;Icon&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Icons&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;runApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;CounterApp&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neste exemplo, o widget CounterApp é stateful porque mantém o estado interno _counter que pode ser modificado pelo método _incrementCounter. O método setState é usado para notificar o Flutter de que o estado foi alterado, e a interface do usuário é reconstruída de acordo.&lt;/p&gt;

&lt;p&gt;Muito obrigador por ler 😁, espero ter ajudado!&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>braziliandevs</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
