Visão Geral do Processo
Nosso processo de desenvolvimento garante que o que é projetado é o que é construído. O trabalho passa por três estágios distintos com entregáveis claros e responsabilidades em cada etapa.
Estágios do Fluxo de Trabalho
Cada estágio se baseia no anterior, garantindo alinhamento do conceito ao código.
Descoberta de UX
O estágio de UX estabelece a base para tudo o que segue. Requisitos claros neste estágio evitam mudanças custosas posteriormente.
Entregáveis Obrigatórios
Objetivo e Escopo
DEVE definir:
Objetivo de negócio - Qual problema estamos resolvendo?
Usuário alvo - Para quem é isto?
Métricas de sucesso - Como medimos o sucesso?
Restrições - Limitações técnicas, de cronograma ou de recursos
Exemplo:
Fluxos de Interação
DEVE mapear jornadas de usuário de ponta a ponta:
Todos os casos de uso - Caminhos de usuário primários e secundários
Casos limites - Estados vazios, usuários de primeira vez, erros
Caminhos alternativos - Diferentes maneiras de alcançar objetivos
Auxílios visuais - Wireframes ou diagramas de fluxo quando úteis
Exemplo:
Estados de UI
DEVE especificar todos os estados dos componentes:
Ocioso - Estado padrão
Carregando - Buscando ou processando dados
Erro - Operações falhadas
Vazio - Nenhum dado disponível
Sucesso - Operações bem-sucedidas
Desabilitado - Ações indisponíveis
DEVE esboçar recuperação de erro:
O que acontece quando um erro ocorre?
Como os usuários podem tentar novamente ou resolver?
Que informações os usuários precisam?
Rastreamento de Analytics
DEVE concordar sobre o rastreamento neste estágio:
Eventos - Quais ações rastrear
Propriedades - Quais dados capturar
Propriedades do usuário - Atributos relevantes do usuário
Metas de conversão - Métricas-chave de sucesso
Exemplo:
Entregáveis Recomendados
Intenção de Acessibilidade
DEVE descrever:
Fluxos de teclado - Ordem de Tab e atalhos
Ordem de foco - Progressão lógica do foco
Rótulos para screen reader - Rótulos e descrições ARIA
Conteúdo alternativo - Texto para imagens, ícones, gráficos
Exemplo:
Legibilidade de Acessibilidade
DEVE garantir:
Contraste de cor - Razões mínimas WCAG AA
Texto normal: 4.5:1
Texto grande (18pt+): 3:1
Componentes de UI: 3:1
Tamanho do texto - Legível em tamanhos padrão
Alvos interativos - Alvos de toque mínimos de 44×44px
Elementos Interativos de UI
DEVE definir estados para todos os elementos interativos:
Habilitado - Estado interativo padrão
Desabilitado - Estado não interativo
Hover - Mouse over (desktop)
Pressionado/Ativo - Durante a interação
Foco - Estado de foco por teclado
DEVE especificar feedback ao usuário:
Mudanças visuais na interação
Indicadores de carregamento
Mensagens de sucesso/erro
Feedback háptico (mobile)
Design no Figma
Designers DEVEM começar a partir da nossa Figma library, que espelha componentes do Material UI e usa o tema Decentraland definido em UI2.
Cores, tamanhos ou estilos especiais NÃO DEVEM ser usados. Exceções podem existir, mas DEVEM ser justificadas na especificação e aprovadas durante a revisão.
Padrões Obrigatórios
Usar Decentraland Figma Library
DEVE usar componentes MUI quando existir um equivalente:
Verificar a biblioteca de componentes MUI primeiro
Usar variantes e estilos Decentraland
Não criar versões customizadas de componentes existentes
Se um elemento de UI necessário não existir:
Verificar se pode ser composto a partir de componentes existentes
Se não, propor um componente customizado (ver Componentes Personalizados)
Documentar o racional na especificação
Obter aprovação durante a revisão de design
Cores
DEVE corresponder estilos de cor do Figma aos nomes do tema UI2:
Fonte da verdade: colors.ts
Tipografia
DEVE usar variantes definidas:
Variantes disponíveis:
h1,h2,h3,h4,h5,h6- Títulossubtitle1,subtitle2- Subtítulosbody1,body2- Texto do corpobutton- Texto de botãocaption- Legendasoverline- Texto overline
Referências:
Exemplo de mapeamento:
Breakpoints
DEVE projetar para estes breakpoints:
xs
768px
Mobile
sm
991px
Tablet
md
1024px
Small Desktop
lg
1280px
Desktop
xl
1500px
Large Desktop
Source: index.ts
Boas práticas:
Design mobile-first (começar em
xs)Mostrar breakpoints chave em frames do Figma
Documentar comportamento responsivo
Testar nas bordas da viewport (767px, 768px, etc.)
Raio de borda e Paletas
DEVE usar valores definidos pelo tema:
Não introduzir novos valores de border radius
Não criar novos papéis de paleta
Exceções requerem justificativa na especificação e aprovação
Valores do tema:
Esquemas de Cor
Se a tela suportar múltiplos esquemas de cor:
DEVE fornecer:
Qual esquema se aplica (ver colorSchemes.ts)
Pré-visualização em modo claro
Pré-visualização em modo escuro
Documentação sobre alternância de esquemas no Storybook
Exemplo:
Seleção de Componentes
DEVE reutilizar componentes preparados:
Verificar MUI primeiro - O MUI tem este componente?
Verificar UI2 - Existe uma variante Decentraland?
Compor se possível - É possível combinar componentes existentes?
Customizar como último recurso - Seguir Componentes Personalizados process
Implementação de dApp
Desenvolvedores implementam designs usando componentes UI2 e seguindo nosso Styling & Theming padrões.
Checklist de Implementação
Fluxo de Implementação de Componentes
Portões de Qualidade
Antes de marcar a implementação como completa:
Correspondência visual - Coincide com Figma pixel-perfect nos breakpoints chave
Conformidade com o tema - Todos os valores do tema UI2
Estados implementados - Todos os estados especificados em UX funcionam
Acessibilidade - Navegação por teclado, estados de foco, rótulos ARIA
Analytics - Eventos disparam conforme especificado
Responsivo - Funciona em todos os breakpoints
Desempenho - Sem re-renders desnecessários
Testes - Testes de componente passam
Storybook - Stories adicionadas (se reutilizável)
Revisão de código - Aprovado pelos mantenedores
Melhores Práticas de Handoff
De UX para Design
Documento de requisitos claro
Fluxos de usuário com anotações
Diagramas de estado para interações complexas
Especificações de eventos de analytics
De Design para Desenvolvimento
Arquivo Figma com modo dev habilitado
Especificações de componentes
Notas de comportamento responsivo
Mapeamento de tokens de cor e tipografia
Anotações de acessibilidade
Link para requisitos de UX
Durante a Implementação
Check-ins regulares entre designer e desenvolvedor
Feedback antecipado sobre restrições técnicas
Revisões iterativas em marcos chave
Revisão final antes do merge
Próximos Passos
Aprenda sobre Componentes Personalizados para criar novos componentes
Rever Styling & Theming para detalhes de implementação
Veja Guia de Migração se estiver trabalhando com componentes UI1
Atualizado