Olá... iniciando em Flutter, vejo uma discussao muito grande em Gerencia de Estado.. . podem:
a) dar uma visao geral b) dizer se é essencial comecar por este topico?Olá... iniciando em Flutter, vejo uma discussao muito grande em Gerencia de Estado.. . podem:
a) dar uma visao geral b) dizer se é essencial comecar por este topico?Olá Silvio, tudo bem?
Vou começar pelo segundo ponto
b) dizer se é essencial comecar por este topico?
Eu diria que não, primeiro é necessário entender uma gerência de estado simples nativa, sentir algumas dificuldades em gerir o estado, para começar de fato a compreender quais são as soluções =)
A grande questão da gerência de estado, é atualizar informações na tela sem ter que rebuildar a árvore de elementos, e recuperar essa informação em nosso aplicativo em varios pontos, sem ter que ficar passando objetos entre vários widgets
O flutter é esperto o suficiente para quando fazemos um setState
saber o que ele precisa rebuildar, é o processo que eles chamam de marcar o widget
como sujo (Dirty), entretanto, as vezes temos uma árvore de widgets bem complexa, e esse processo pode ser bem caro em questão de performance, ou quando queremos ter um controle mais desacoplado com a nossas telas
Em relação a essa questão de uma discussão muito grande, realmente, hoje temos diversas maneiras:
Provider
GetX
MobX
Bloc
Cubit
Todas elas de alguma forma, vão trocar informações de nosso aplicativo, sem rebuildar a nossa árvore
E na maioria das vezes, qualquer uma dessas gerências de estados vai solucionar nossos problemas, as vezes é uma questão da comunidade estar sempre esperando a melhor solução, ou, a bala de prata dos gerenciadores de estado
Então o ideal é entender de fato sobre o Flutter, e depois estar disposto a conhecer um pouco das soluções, e testar para ver qual te agrada mais, ou soluciona seu problema da melhor maneira =)
Então dado que está começando no mundo Flutter, o ideal é ir trabalhando com o setState
junto com a formação de flutter, e aqui na plataforma temos um curso ensinando o Provider, mas você pode ler a documentação dos outros que citei, e com certeza tem muito conteúdo explicando sobre eles, e dessa forma entender as vantagens, e perceber se há necessidade de utilizar ou não em seu projeto
Lembrando que no processo de evolução como desenvolvedor, você pode estar estudando sobre arquitetura de projetos ( Hexagon Architecture, Clean Architecture), e criar um aplicativo com as partes totalmente desacopladas, dessa forma, você pode trocar a gerência de estado a qualquer momento sem tanta "dor", mas ai já é um conteúdo de fato mais avançado, após vários meses / anos de estudo =)
Abraços e Bons Estudos!