Tarefas comuns do aplicativo
Comece pelo que o app precisa fazer. Estes caminhos levam a um padrão funcional, depois aos detalhes da API e às restrições de plataforma. Para apps completos executáveis, veja a galeria de exemplos.
| Quero… | Use este padrão | Confira antes de publicar |
|---|---|---|
| Abrir um detalhe e voltar à mesma lista | Primeiro app, push / back | Mantenha a busca na página preservada; visibilidade é diferente de montagem |
| Confirmar antes de perder uma edição | Leave guard condicional | Ative só enquanto houver alterações; o swipe-back iOS fica desativado durante o guard |
| Devolver um valor escolhido ou editado | pushForResult e back({ result }) | Trate undefined como cancelamento; o genérico T não valida o valor em runtime |
| Exigir login antes de abrir um destino | Guards globais ou de rota | Redirecione para uma rota permitida; um leave guard não executa apenas porque houve push |
| Manter históricos separados por destino principal | Pilhas nomeadas em abas | Um drawer sozinho não cria uma pilha por item do menu |
| Manter um menu visível em uma janela larga | Drawer adaptativo | Meça a largura do container; painel permanente e overlay open têm estados distintos |
| Mostrar lista e detalhe juntos | Navegação split | Escolha Frame split ou UIKit split e siga as restrições de raiz/composição |
| Compartilhar uma ação entre header e menu | Ações da página | Operações do negócio, confirmações e permissões continuam no app |
| Buscar dentro de uma página preservada | Busca nativa | A consulta é estado da aplicação; digitar não adiciona entradas de navegação |
| Abrir um destino por link do sistema | Deep links | Configure manifest/entitlements nativos, mapeamento da rota e pilha de destino |
| Receber uma imagem ou documento do sistema | Fluxos nativos | Diferencie cancelamento de erro e respeite o contexto da página/janela |
| Recuperar o app depois que o SO encerra o processo | Restauração de estado | Persista estado serializável; Promises JavaScript não sobrevivem ao encerramento |
| Devolver foco acessível depois de um modal | Foco de navegação | Use IDs nativos estáveis e teste com tecnologias assistivas reais |
| Entender uma navegação lenta ou que falhou | Diagnósticos e visualizador | Exporte do app afetado; relatórios sintéticos não são benchmarks do aparelho |
Escolha o próximo nível de detalhe
- Aprender um fluxo completo: primeiro app, depois Fieldnotes.
- Encontrar padrões nativos copiáveis: catálogo por funcionalidade.
- Consultar método ou tipo: referência da API.
- Decidir se um recurso atende uma plataforma: mapa de capacidades e compatibilidade.
Quando os recursos opcionais ajudam
Rotas por arquivos podem substituir uma tabela explícita grande; layouts e middleware organizam convenções compartilhadas. Loaders, Suspense nativo, janelas e hosts/destinos personalizados continuam experimentais onde indicado. Adicione-os por uma necessidade concreta depois que o fluxo básico funcionar.