Módulo 8 — Mobile sem Mac 🟢🔴
Objectivo: criar e publicar uma app móvel (iOS e Android) a partir do Windows. O momento aha: fazer um build de iPhone sem ter um Mac, direto do VSCode. Resultado: um build de app pronto a instalar/submeter.
1. React Native + Expo
- React Native — escreves a app em JavaScript/React, corre como app nativa.
- Expo — o conjunto de ferramentas que torna isto simples (arranque, testes, builds).
npx create-expo-app a-minha-app
npx expo start # testa no telemóvel com a app "Expo Go" (QR code)
2. EAS Build — builds na nuvem (sem Mac!)
O EAS compila a app nos servidores da Expo — incluindo iOS, sem precisares de Mac:
eas build -p android # gera o .apk/.aab
eas build -p ios # gera o build de iOS na nuvem
3. EAS Submit — enviar para as lojas
eas submit -p android # envia para a Play Store
eas submit -p ios # envia para a App Store
4. OTA Updates — actualizar sem nova versão na loja
Pequenas correcções de JS podem ir para os utilizadores sem passar pela loja (over-the-air).
🔴 Fora do VSCode
Contas de developer (Apple/Google), fichas das apps, screenshots e o processo de revisão nas consolas.
✅ Exercícios
- App base — cria uma app Expo e abre-a no telemóvel com Expo Go.
- Ecrã — adiciona um ecrã com o teu nome e um botão que mostra um alerta.
- Build — corre
eas build -p androide acompanha o build na nuvem.
Resultado esperado: a tua app a correr no telemóvel + um build Android gerado.
⚠️ Erros comuns
- Testar só Android e esquecer o iOS — testa ambos.
- Esquecer ícone e splash — a app parece amadora.
- Credenciais das lojas no repositório — nunca; usa os segredos do EAS.
- Submeter sem ler as regras da App Store/Play — leva a rejeição.
📋 Checklist do módulo
- App corre no telemóvel (Expo Go)
- Build Android (e iOS) gerado com EAS
- Ícone e splash definidos
- Contas de developer prontas (Apple/Google)