Stateful x Stateless – Flutter
Quando iremos iniciar a aplicação utilizando o framework Flutter, com a linguagem de programação Dart, ao construir as telas do aplicativo que estamos desenvolvendo, temos duas opções para gerenciar o estado das mesmas. Neste pequeno artigo, será demonstrada a diferença entre o gerenciamento dos widgets Stateful e Stateless.
Mas, o que são estados? Nada mais são que alterações que ocorrem em tempo de execução com as interações do usuário, como curtidas de fotos em redes sociais, como Facebook ou Instagram.
STATELESS
No widget stateless, o mesmo não possui seu estado alterado e, sendo assim, ele pode ser aplicado em telas estáticas.
Exemplo: Uma página estática com um texto “Olá mundo”.
No caso o exemplo acima carrega somente uma cor azul estática ao tema do aplicativo, que não necessita de alteração de estado.
STATEFUL
No widget stateful, o mesmo possui seu estado alterado e, sendo assim, ele pode ser aplicado em telas dinâmicas. Ele é o mais utilizado no Flutter, para a construção de aplicativos.
Exemplo: Telas de login, cadastros, que possuem eventos nela contidos, poderá ser utilizado o stateful neste caso.
– Widget Login estende um stateful;
– Pelo createState(), que é uma função, retorna o widget _Login, que é um widget abstrato, pela presença do underline (_).
DICA — ANDROID STUDIO
Caso você crie uma classe com Stateless, você pode transformar ela em Stateful, com um próprio atalho do ambiente do Android Studio. Basta selecioná-la e clicar na lâmpada amarela que se aparecerá. Após isso, clicar em “CONVERT TO STATEFUL WIDGET” e a conversão será feita. O contrário (stateful para stateless) não é possível de ser feito.
CONCLUSÃO
Como praticamente tudo atualmente conta com interações do usuário, seja em sites, aplicativos ou similares, o mais indicado para o uso em sua aplicação é o widget stateful.

