Habilidades de simulador, depuração e primeiras PRs seguras para engenheiros novos no Expo SDK 57. A mentoria mobile falha quando juniores lutam com o Metro no terceiro dia enquanto seniores esperam velocidade de recursos - estruture as duas primeiras semanas deliberadamente.
Cartão de mentor de referência rápida - atribua um colega + marcos.
Marcos da Semana 1: Dia 1 Metro verde + expo-doctor (iPhone 16 + emu Pixel 8) Dia 2 Pequena PR de UI mesclada (subtítulo, teste, capturas de tela) Dia 3 Rastreie um recurso: app/ rota → features/ tela → hook Dia 4 Corrija um comentário de revisão de lint/a11y com verificação TalkBack Dia 5 Instale o build EAS de pré-visualização no dispositivo pessoalTipos de primeiras PRs seguras: ✅ Cópia, espaçamento, teste RNTL, accessibilityLabel ✅ Nova tela atrás do padrão de aba existente (colega revisa a rota) ⚠️ Nova dependência npm (revisão do colega + líder) 🚫 app.config.ts / eas.json / plugin de configuração / módulo nativo solo
# Mentor executa isso com o mentorado no dia 1npx expo-doctornpx expo start# Pressione i → iOS Pressione a → Android# Shift+I / Shift+A → escolha dispositivos de equipe padrão
Quando usar isso:
Contratando desenvolvedores React web para equipes mobile.
Estagiário ou graduado de bootcamp ingressando no meio do sprint.
# Nomes de dispositivos de equipe padrão (documentar em CONTRIBUTING.md)xcrun simctl list devices available | grep "iPhone 16"# Android: Pixel 8 API 35 no AVD Manager
1. Leia o redbox / LogBox - mensagem completa, arquivo, linha2. React DevTools - props/state errados vs layout errado3. Terminal Metro - erros de transformação / resolução4. npx expo-doctor - descompasso de versão5. eas build preview - reproduz falhas nativas apenas6. Logs Xcode / Android Studio - último recurso; fazer par apenas
// Erro comum de júnior - demonstração de correção pelo mentor// ❌ Inline renderItem invalida o memo da lista<FlashList renderItem={({ item }) => <Row item={item} />} ... />// ✅ Módulo de nível ou useCallbackconst renderItem = useCallback(({ item }: { item: Item }) => <Row item={item} />, []);
Faça par na primeira ocorrência de undefined is not a function do Hermes - ensine npm why <pkg> e higiene de lockfile, não limpezas aleatórias de cache.
## Mentorando: @nome - semana 2Entregue:- PR #412 Subtítulo de exploração (mesclada)- Build de pré-visualização no dispositivo AndroidPreso:- Tipagem de useLocalSearchParams - ler documentação de rotas tipadasPróximo:- Adicionar linha de Dicas + Link para /tips (capstone)Ação do mentor:- Fazer par por 30m em hook de Query na quinta-feira
"Funciona na minha máquina" - Júnior usa Expo Go; o aplicativo precisa de um cliente de desenvolvimento. Correção: Clareza no README do primeiro dia; build de pré-visualização até o quinto dia.
Jogar juniores em hotfix na sexta-feira - Falta de literacia em rollback. Correção: Hotfixes monitorados; primeiro fix solo é OTA na segunda-feira com template.
Revisões de detalhes sem ensinar - Comentários de estilo sem o "porquê" não constroem julgamento mobile. Correção: Um comentário de ensino por revisão (a11y, perf ou limite).
Pular o Android - Hábito apenas iOS em uma base de usuários majoritariamente Android. Correção: Ambas as capturas de tela são obrigatórias desde a primeira semana.
Pensamento de componentes, hooks e mentalidade de teste são transferíveis. Novo: Metro, simuladores, limites nativos, relógios de lançamento de loja, serviços de a11y da plataforma.
Quão prático os mentores devem ser?
Fazer par nos dias 1-5 para ambiente e primeira mesclagem; revisar com comentários de ensino nas semanas 2-4; delegar recursos limitados nas semanas 3-6 se o capstone for mesclado.
E se o colega estiver muito ocupado?
O líder designa um colega alternativo para revisões em até 24h; não deixe a primeira PR parada - isso mata a confiança.