Expo
O que é
Expo é um e plataforma de código aberto que fica em cima do React Native para tornar a construção, execução e publicação de apps móveis muito mais fácil. Ele reúne um conjunto selecionado de módulos nativos, uma ferramenta de linha de comando e serviços em nuvem (EAS — Expo Application Services) para compilar e enviar apps sem que você precise gerenciar o Xcode e o Android Studio por conta própria. O app Expo Go permite visualizar um projeto instantaneamente em um dispositivo real ao escanear um código QR (Quick Response) — aquele código de barras quadrado que você aponta a câmera do celular para ler.
Pontos fortes
- Elimina a maior parte do atrito de compilação nativa — não é preciso mexer em Xcode/Gradle nos casos comuns.
- Uma grande biblioteca de APIs nativas prontas (Application Programming Interfaces — blocos de construção prontos para uso em recursos como câmera, notificações e localização).
- EAS Build e EAS Submit cuidam das compilações na nuvem e do envio às lojas.
- Atualizações over-the-air permitem enviar correções de JavaScript sem passar por uma revisão completa da loja.
- Roteamento baseado em arquivos (Expo Router) e ótimo suporte a TypeScript.
Trade-offs
- Você fica preso ao ritmo de lançamentos do Expo e ao conjunto de módulos nativos suportados.
- Código nativo muito personalizado pode exigir "prebuild" e mais configuração.
- O tamanho do app pode ser maior, e algumas integrações nativas avançadas exigem trabalho extra.
- Os serviços de compilação em nuvem têm limites de uso nos planos gratuitos.
Melhor para
Expo é a escolha padrão certa para a maioria dos projetos React Native — especialmente equipes pequenas e desenvolvedores solo que querem lançar nas duas lojas rapidamente sem se tornar especialistas em compilação nativa.
Encaixe no vibe coding
Expo é excelente para construção assistida por IA: a (Command-Line Interface — a ferramenta que você controla digitando comandos) monta um app funcional com um único comando, o Expo Go oferece pré-visualização instantânea no dispositivo, e as APIs incluídas fazem com que o assistente raramente precise configurar código nativo frágil. Peça ao modelo para usar o Expo Router para navegação, TypeScript para segurança, e os próprios módulos do Expo (por exemplo, expo-camera) antes de pacotes nativos de terceiros. Informe quais lojas você tem como alvo para que ele configure o EAS corretamente.
npx create-expo-app@latest my-app
cd my-app
npx expo start # scan the QR with Expo Go
npx eas build --platform all # cloud-build for both stores