O GetX uma biblioteca muito interessante e útil na construção de aplicativos em Flutter.
Ao combinar diversos elementos como gerenciamento de estados, rotas e injeção de dependências, permite um ganho de produtividade e performance no desenvolvimento.
Além disso há uma série de funções utilitárias como navegação, dialogs, internacionalização, validadores, tudo no mesmo pacote.
Se você está começando a codificar em Flutter e está perdido com gerenciamento de estados, recomendo fortemente a olhar essa biblioteca. Aproveite também para ver meus artigos.
Flutter e GetX — Criando uma aplicação para compartilhamento de recursos
O objetivo dessa postagem é apresentar a ferramenta de comando GetX CLI, que automatiza a criação de diversos artefatos como controllers, views e pages. É possível construir o projeto com a estrutura do get ou gerar em um existente.
Instalando
Para habilitar a ferramenta eu precisei incluir flutter no comando, ficando assim no terminal:
flutter pub global activate get_cli
A partir da versão 1.21 do Flutter a instalação já inclui o SDK do DART. Logo, eu tinha duas versões do DART na minha máquina. O problema estava na versão mais antiga setada na variável de ambiente.
Ao tentar instalar aparecia o erro Can’t load Kernel binary: Invalid kernel binary format version.
A solução foi desinstalar o dart-sdk que tinha feito há algum tempo e alterar o caminho na variável.
Era assim:
C:\dart-sdk\bin
Ficou:
C:\flutter\bin\cache\dart-sdk\bin
Observe que ficou abaixo da instalação do flutter. Você precisa também incluir no Path o cache do pub, algo como:
C:\Users\NomedoUsuario\AppData\Local\Pub\Cache\bin
Dessa forma, consegui instalar o Get_CLI sem erros e evitar até um comportamento de fechar o terminal inesperadamente após a execução de comando.
Contruindo o projeto
Você poderá criar seu projeto usando o comando
get create project:meu_projeto
Será solicitado algumas escolhas como o tipo do projeto e a organização dos arquivos. Escolhi a opção 1 para todos os casos.
Ao fim será criando um projeto com o get instalado, um arquivo principal e de rotas, além de um módulo home com controlador, binding e view.
Por exemplo, para criar uma page, basta informar
get create page:contato
Será gerado na pasta modules, uma pasta contato com contato_view, contato_controller e contato_binding.
Gravei um vídeo mostrando os passos na instalação e geração.
Na documentação você pode encontrar todos os comandos com maiores detalhes.
Obrigado e até.