Estruturas de UI: os modelos que o mundo usa
App shell real: Header + Sidebar + main + surfaces. Anatomia, zonas e o que não misturar — desenhado a partir de um DS de produto.
Que tipo de artigo é este? Explicação das estruturas de UI mais usadas em produto denso — ilustradas com a anatomia de um app shell real (template de estrutura, header e sidebar de design system), não com wireframes genéricos de stock.
1. Template / estrutura — o modelo dominante
Em admin, B2B e SaaS, a estrutura que mais se repete no mundo é o app shell:
- Header — chrome de marca e ações globais (sticky).
- Sidebar — navegação estável (colapsada ~82px / expandida ~300px).
- main — trabalho; largura máxima (ex. ≤1640px) para não “esticar” o conteúdo.
No produto, o shell é montado uma vez. A feature não redesenha sidebar nem inventa outro <header> verde. O miolo começa no Header de páginas (título, subtítulo, ações da tela) e desce para cartões.
2. Header — zonas, não “barra cheia”
Header bom é mapa de zonas, não um dump de botões:
- Marca — logo + nome do canal.
- Data / hora — contexto temporal (quando fizer sentido).
- Contexto — empresa / posto / conta ativa.
- Interno — chip de impersonação (só quando precisa; some no mobile para a sidebar).
- Ações — carrinho, notificações, perfil (hits ≥40–48px).
Bom: header = só chrome global.
Não: filtros, tabs de feature ou CTAs de página na barra de marca — isso é Header de páginas, no main.
3. Sidebar — rail com níveis
A sidebar clássica do mundo (e a que escala) é um rail:
- Colapsada — ícones L1 + pin.
- Expandida / pinada — título tipo “Navegue por:”, L1 (grupo/destino), L2 (submenu), L3 (bloco raro: destaque / upsell).
Sticky sob o header. Árvore vem de uma fonte só (nav config) — não de CSS copiado por feature.
Bom: hits ~40px, gap curto, L3 excepcional.
Não: CTA de campanha no rail; segunda sidebar; shimmer de “empresa” aqui (isso é do header).
4. Dentro do main — surfaces, não sombra
Depois do chrome, a estrutura que o mundo usa para conteúdo é uma pilha de surfaces:
- Página (N60) — fundo do main.
- Contentor — agrupa (opcional).
- Cabeçalho do bloco (subtle) — título da seção.
- Corpo / rodapé (elevated / N0) — onde a pessoa lê e age.
Marca do header/sidebar não é surface de cartão. Verde (ou qualquer cor de chrome) dentro do card quebra a hierarquia e parece “tema errado”.
5. Bom vs frágil
- Bom: um shell; Header de páginas no main; surfaces com papel; sidebar com árvore estável; tokens (não hex soltos); main com teto de largura.
- Não: segundo header/sidebar; filtros no chrome; marca no cartão; fork do shell por projeto; TOC de documentação no produto; CTA no rail.
Os outros modelos clássicos (tabs, cards, wizard, master–detail) vivem dentro deste shell — não competem com ele. Estrutura do mundo = chrome estável + miolo com um job claro.