Plataformas fora da árvore
React Native não é apenas para dispositivos Android e iOS - nossos parceiros e a comunidade mantêm projetos que levam o React Native para outras plataformas, como:
De parceiros
- React Native macOS - React Native para macOS e Cocoa.
- React Native Windows - React Native para a Plataforma Universal Windows (UWP) da Microsoft.
Da comunidade
- React Native tvOS - React Native para dispositivos Apple TV e Android TV.
- React Native Web - React Native na web usando React DOM.
- React Native Skia - React Native usando Skia como renderizador. Atualmente oferece suporte a Linux e macOS.
Criando sua própria plataforma React Native
No momento, o processo de criação de uma plataforma React Native do zero não está muito bem documentado - um dos objetivos da próxima re-arquitetura (Fabric) é facilitar a manutenção de uma plataforma.
Bundling
A partir do React Native 0.57, agora você pode registrar sua plataforma React Native com o empacotador JavaScript do React Native, Metro. Isso significa que você pode passar o --platform example
para o pacote npx react-native
e ele procurará arquivos JavaScript com o sufixo .example.js
.
Para cadastrar sua plataforma no RNPM, o nome do seu módulo deve corresponder a um destes padrões:
react-native-example
- Ele irá pesquisar todos os módulos de nível superior que começam comreact-native-
@org/react-native-example
- Procurará módulos que começam comreact-native-
em qualquer escopo@react-native-example/module
- Ele pesquisará em todos os módulos sob escopos com nomes começando com@react-native-
Você também deve ter uma entrada em seu package.json
assim:
{
"rnpm": {
"haste": {
"providesModuleNodeModules": ["react-native-example"],
"platforms": ["example"]
}
}
}
"providesModuleNodeModules"
é uma matriz de módulos que serão adicionados ao caminho de pesquisa do módulo Haste, e "platforms"
é uma matriz de sufixos de plataforma que serão adicionados como plataformas válidas.