expo-module
Ajuda seu agente a criar partes nativas para aplicativos Expo. Permite que o agente use código Swift e Kotlin para construir funcionalidades específicas do celular.
O que ela faz
Este guia ajuda você a criar e escrever 'módulos nativos' e 'visões nativas' para aplicativos Expo. Ele usa uma API especial chamada Expo Modules API para conectar código Swift (iOS), Kotlin (Android) e TypeScript.
Quando usar
- ✓Quando você precisa adicionar uma nova funcionalidade ao seu app Expo que não existe nativamente.
- ✓Ao integrar um SDK de plataforma (como câmera ou sensores) que não tem suporte direto no React Native.
- ✓Para criar componentes visuais personalizados que funcionam tanto no iOS quanto no Android.
Exemplo do que pedir para a IA
“Como eu crio um novo módulo nativo para o meu app Expo usando a API de Módulos Expo?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você usa um comando chamado `create-expo-module` para gerar a estrutura básica do seu módulo. Depois, você edita os arquivos gerados em Swift (para iOS) e Kotlin (para Android) para definir suas funcionalidades, usando a linguagem TypeScript para a parte do JavaScript.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill expo-moduleOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/expo-module/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Expo Modules: Criando Módulos Nativos
Referência completa para construir módulos e views nativas usando a API de Módulos do Expo. Abrange Swift (iOS), Kotlin (Android) e TypeScript.
Quando Usar
- Criar um novo módulo ou view nativa do Expo
- Adicionar funcionalidades nativas (câmera, sensores, APIs do sistema) a um app Expo
- Empacotar SDKs de plataforma para uso no React Native
- Construir plugins de configuração que modificam arquivos de projeto nativos
- Adicionar suporte Android, Apple ou web a um módulo Expo existente
- Editar
expo-module.config.json, plugins de configuração ou hooks de ciclo de vida
Referências
Consulte estes recursos conforme necessário:
references/
create-expo-module.md Scaffolding and add-platform-support workflow, defaults, and quirks
native-module.md Module definition DSL: Name, Function, AsyncFunction, Property, Constant, Events, type system, shared objects
native-view.md Native view components: View, Prop, EventDispatcher, view lifecycle, ref-based functions
lifecycle.md Lifecycle hooks: module, iOS app/AppDelegate, Android activity/application listeners
config-plugin.md Config plugins: modifying Info.plist, AndroidManifest.xml, reading values in native code
module-config.md expo-module.config.json fields, file placement, and autolinking behavior
Início Rápido
Prefira create-expo-module em vez de criar manualmente arquivos e diretórios de módulos nativos. Na prática, o melhor caminho geralmente é criar o "esqueleto" primeiro e depois construir sobre ele. O esqueleto configura o layout esperado, expo-module.config.json, arquivos podspec ou Gradle, bindings TypeScript e o fluxo do app de exemplo independente.
Se um módulo Expo existente só precisa de outra plataforma, use create-expo-module add-platform-support em vez de copiar manualmente diretórios nativos.
Veja references/create-expo-module.md antes de criar o esqueleto ou estender um módulo. Ele cobre:
- módulos locais vs. independentes
--platform,--features,--barrel,--package-managere modo não interativoexpo.autolinking.nativeModulesDir- comportamento e peculiaridades do
add-platform-support
Fluxo de Trabalho Recomendado
- Escolha o tipo de esqueleto primeiro:
- Módulo Local para um único app
- Módulo Independente para reutilização, monorepos ou publicação
- Determine as funcionalidades nativas do
expo-moduleque você precisará.- Com base nas instruções do usuário, determine qual funcionalidade do esqueleto será útil.
- Funcionalidades disponíveis:
Constant,Function,AsyncFunction,Event,View,ViewEvent,SharedObject
- Crie o esqueleto deliberadamente:
- passe um slug ou caminho explícito
- escolha
--platformintencionalmente em vez de depender dos padrões - use
--featurespara escolher exemplos de código que você modificará na próxima etapa para corresponder à implementação real.
- Substitua o código de exemplo gerado pela implementação real.
- Se você adicionar uma nova plataforma posteriormente, prefira
add-platform-supportem vez de copiar arquivos manualmente.
Regras Práticas de Criação de Esqueletos
- Exemplos de funcionalidades são opt-in. Um módulo recém-criado pode ser mínimo se nenhuma funcionalidade foi selecionada.
ViewEventimplicaView.- Módulos locais não geram um barril
index.tspor padrão. Use--barrelapenas se desejar um. - Na criação de esqueletos locais não interativos, passe o slug ou caminho posicional explicitamente.
--namealtera o nome da classe nativa, não o nome da pasta. - Módulos locais residem em
expo.autolinking.nativeModulesDirquando configurados, caso contrário, emmodules/. - Módulos independentes têm seus próprios metadados de pacote, scripts e geralmente um app de exemplo. Módulos locais usam as ferramentas do app host em vez disso.
Estrutura de Arquivos Principais
O DSL Swift e Kotlin compartilham a mesma estrutura. Swift geralmente é o exemplo primário mais claro; consulte as referências para detalhes específicos de funcionalidades.
Referência de Estrutura de Módulos
O DSL Swift e Kotlin compartilham a mesma estrutura. Ambas as plataformas são mostradas aqui para referência — em outros arquivos de referência, Swift é mostrado como a linguagem primária, a menos que o padrão Kotlin difira significativamente.
Swift (iOS):
import ExpoModulesCore
public class MyModule: Module {
public func definition() -> ModuleDefinition {
Name("MyModule")
Function("hello") { (name: String) -> String in
return "Hello \(name)!"
}
}
}
Kotlin (Android):
package expo.modules.mymodule
import expo.modules.kotlin.modules.Module
import expo.modules.kotlin.modules.ModuleDefinition
class MyModule : Module() {
…
Perguntas frequentes
O que são 'módulos nativos' e 'visões nativas'?
Módulos nativos são pedaços de código que rodam diretamente no sistema do celular (iOS ou Android) e que você pode chamar do seu código JavaScript. Visões nativas são componentes visuais (como botões ou listas) que também são criados com código nativo.
Preciso saber programar em Swift e Kotlin para usar isso?
Sim, você precisará escrever código em Swift para iOS e Kotlin para Android para implementar a lógica do seu módulo nativo. O guia explica como fazer isso usando a Expo Modules API.
O que são 'config plugins'?
Config plugins são um recurso que permite modificar arquivos de configuração nativos do seu projeto (como `AndroidManifest.xml` no Android ou `Info.plist` no iOS) automaticamente quando você constrói seu app.
Detalhes
Descrição original do autor
Guide for creating and writing Expo native modules and views using the Expo Modules API (Swift, Kotlin, TypeScript). Covers module definition DSL, native views, shared objects, config plugins, lifecycle hooks, autolinking, and type system.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2961
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
android-clean-architecture
Faz seu agente organizar projetos Android de forma eficiente. Ele estrutura o código para facilitar a manutenção e o desenvolvimento de novos recursos.
affaan-m/ECC
compose-multiplatform-patterns
Ajuda seu agente a usar padrões do Compose Multiplatform e Jetpack Compose em projetos KMP. Ele cobre gerenciamento de estado, navegação, temas e performance. Útil para criar interfaces de usuário consistentes.
affaan-m/ECC
dart-flutter-patterns
Faz seu agente escrever código para apps Dart e Flutter. Ele usa padrões modernos para criar apps robustos e fáceis de gerenciar.
affaan-m/ECC