Core Concepts

Compatibility

React Native, architecture, web, Expo Go, and CSS support boundaries.

Compatibility

Nitrowind supports React Native 0.85 through 0.87, Nitro Modules 0.37, Fabric, bridgeless, and the new architecture.

Validated versions

The 1.0.0-beta.1 release was validated in clean TypeScript projects through package installation, CocoaPods, iOS compilation, simulator launch, and visual className styling.

Project typeVersionReact NativeValidation
React Native Community CLI0.87.00.87.0Supported
React Native Community CLI0.86.20.86.2Supported
React Native Community CLI0.85.30.85.3Supported
ExpoSDK 57.0.150.86.2Supported with a development build
ExpoSDK 56.0.200.85.3Supported with a development build

These are the exact patch versions exercised by the compatibility audit. React Native 0.84 and Expo SDK 55 or earlier are outside the current react-native >=0.85.0 package boundary. Do not bypass that boundary with forced or legacy peer-dependency installation.

Expo SDK 57 passed clean TypeScript and Expo Doctor checks, native generation, CocoaPods, Android and iOS compilation, simulator/emulator launch, and visual checks for gradients, gradient borders, masks, background images, clip paths, and container queries. No Podfile, AppDelegate, Gradle, static-framework, or application-specific native changes are required.

Native engine

The native engine is built through nitrocss:

  • iOS uses the NitroCss pod.
  • Android uses the :nitrocss Gradle project.
  • Nitro modules generate the native bindings from *.nitro.ts specs.

Fallback environments

When the native engine is unavailable, the JS resolver handles styles. This is useful for:

  • Web builds.
  • Tests.
  • Expo Go.
  • Early integration before native rebuilds.

Expo Go can exercise the JavaScript fallback, but it cannot contain NitroCSS's custom native code. Use npx expo run:ios or npx expo run:android to validate the native engine.

CSS support boundary

Nitrowind supports CSS that can map cleanly to React Native styles or native effect descriptors. Browser-only features that React Native cannot represent are skipped. The compiler also intentionally avoids arbitrary CSS URL background images except where native support exists in the package.

On this page