0%
Projeto completo

Projeto completo

Um aplicativo de ponta a ponta, com todos os blocos do curso

15-20 min

Projeto completo

Onze lições isolaram, cada uma, uma dificuldade. Isso é necessário para aprender, mas insuficiente para saber construir: em um aplicativo real, esses blocos interagem, e é essa interação que levanta as perguntas difíceis. Onde colocar o código que decide ler o cache em vez da rede? Como um formulário avisa a lista de que um item mudou? O que o usuário vê enquanto uma escrita local aguarda uma confirmação remota?

Vamos construir o Carnet, um gerenciador de tarefas sincronizado. A escolha não é por acaso: é o menor domínio que exige, ao mesmo tempo, um banco local, uma API, um estado compartilhado entre telas, um formulário validado e funcionamento offline. Um aplicativo de demonstração mais bonito, porém puramente local, não ensinaria nada além da lição 4.

A ênfase está na arquitetura, ou seja, nas fronteiras entre as camadas. Um código Flutter se torna ingerenciável quase sempre pelo mesmo motivo: a lógica de negócio acaba nos build, as chamadas de rede nos onPressed e o SQL nos widgets. Separar custa alguns arquivos a mais no começo e permite testar, modificar e entender depois.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!