-
-
Notifications
You must be signed in to change notification settings - Fork 28
Platforms
LeoTM edited this page Oct 6, 2025
·
7 revisions
- [2015mar] React Native iOS: The framework was first announced and open-sourced for iOS at the React.js Conf in March 2015.
- [2015sep] React Native Android: Official support for Android was released later in the same year, making it a cross-platform solution.
- [2015] React Native Web π Began as a project by Nicolas Gallagher to create web apps using React Native components for Twitter's Progressive Web App.
- [2016] React Native Qt π« This project aimed to use Qt's QML to bring React Native to desktop environments, forked from the unmaintained React Native Ubuntu. GitHub repository activity suggests development around 2016 and 2017.
- [2016apr] React Native Windows / UWP π« Initial support for Microsoft's Universal Windows Platform (UWP) was released by Microsoft in April 2016.
- [2017] Valence Native π« A community effort to bring the React Native developer experience to desktop apps using native tools instead of a full browser environment. Its repository shows commits dating from 2017.
- [2017] React Native DOM π« An experimental, alternative web port of React Native, distinct from React Native for Web. Its repository shows commits from 2017.
- [2018] React Native Turbolinks π« A wrapper for building hybrid apps using Turbolinks 5. The project's first commit on GitHub was in 2018.
- [2020may] React Native for Windows + macOS π€ Microsoft released the first official preview of React Native for Windows and macOS, aligning with the release of React Native 0.62.
- [2020oct] React Native tvOS π Community support for tvOS, enabling apps for Apple TV and Android TV, existed by at least October 2020.
- [2021dec] React Native Skia π The first alpha version was released, allowing React Native to use the Skia Graphics Engine as a renderer for 2D graphics.
- [2022jun] Alita π« A React framework for mobile apps based on umi.
- [2024jan] React Native visionOS π€ A dedicated community platform for Apple's visionOS began supporting new command-line interface (CLI) commands, just before the visionOS operating system's official release in February 2024.
- [2025oct] React Native horizonOS: Meta Horizon OS
- [2025oct] React Native Vega OS: React Native-powered Linux OS
- iOS SDK and UIKit: RN iOS interacts w native UIKit components for rendering the UI for native look/feel
- Platform-specific APIs: access iOS-specific APIs/features like ARKit/HealthKit by writing custom native modules in Swift/Objective-C to bridge to JS code
- Hardware APIs: supports hardware features like cam/GPS/etc, provided via native modules
- 3rd-party libs: supports integrating ext libs/SDKs via CocoaPods for advanced functionality
- Flexbox layout: while not a native API itself, the Flexbox-based layout system translates to native UI layout capabilities on iOS, simplifying responsive design
- Performance tooling: access native perf tools like Xcode Instruments to identify/optimize bottlenecks
- Android SDK: RN Android renders native Android components for native appearance/perf
- Platform-specific APIs: access custom native modules written in Java/Kotlin to access Android-specific APIs for advanced or specialized features
- Hardware APIs: supports hardware features like cam/GPS/etc
- Edge-to-edge support: Recent RN vers automatically support the edge-to-edge display required by modern Android APIs
-
Predictive back gesture: supports Android 16 predictive back gesture by default w option to customize behavior w
BackHandler
API - Performance tooling: access native perf tools for perf analysis/optimization
- React DOM: React Native Web is a compatibility layer that renders components using React DOM, which in turn uses standard browser DOM APIs.
- Standard Web APIs: The platform uses native DOM APIs to implement features, improving in performance and functionality as the web platform evolves.
-
Web-based components: Browser-compatible implementations of core React Native components such as
View
,Text
,Image
, andScrollView
are provided. - Gestures and interactions: It provides a high-level gesture system and support for various input methods (touch, mouse, keyboard).
- Accessibility: It supports different devices and input modes by rendering semantic HTML tags for improved accessibility.
- Web-specific limitations: Some mobile hardware APIs (e.g., accelerometer) are not accessible in the browser, and not all core components are implemented.
- Universal Windows Platform (UWP): The Windows implementation provides React Native support for the Windows SDK, allowing the building of native apps for Windows 10 and higher.
- Cocoa: The macOS implementation uses the Cocoa framework to build native macOS apps.
- Desktop-specific APIs: Supports platform-specific user experiences like keyboard shortcuts and multi-window handling.
- Community modules: Relies on a growing list of community-supported modules that target Windows and macOS.
- Native module integration: Developers can integrate existing native code into their projects.
-
Network info: The
NetInfo
module supports both Windows and macOS.
- Apple TV OS SDK: As a fork of the main React Native repository, it is tailored to support Apple TV features. It shares much of the native code with the iOS platform.
- Android TV SDK: It is also adapted to run on Android TV devices.
- Focus management: The library includes specific TV support for handling focus management, which is crucial for remote navigation.
- Touchables: Provides access to touchable controls adapted for a TV interface.
-
Platform detection: Offers specific
Platform
APIs, such asPlatform.isTVOS
, for targeting Apple TV specifically. - SDK features: Supports standard TV features while suppressing incompatible APIs like web views or status bars.
- Skia Graphics Engine: This is the primary API. It provides a graphics engine used by browsers like Chrome and Firefox, and mobile platforms like Android.
- Declarative API: The recommended approach uses a declarative API as a React Native Renderer.
- Imperative API (JSI): An imperative API backed by JavaScript Interface (JSI) is also available for library developers.
- Native Buffers API: An advanced API created with platform-specific GPU APIs (Metal for iOS, OpenGL for Android) for efficient graphics rendering from different data sources.
- WebGPU (future): Plans are in place to modernize the architecture with a unified WebGPU 3D API to enable advanced graphics libraries like Three.js.
- 2D graphics: A rich set of APIs for 2D graphics is available, with drawing features completed in the 1.0 release.
- visionOS SDK: A dedicated platform for Apple's visionOS that unlocks the full capabilities of the spatial computing SDK.
- RealityKit: Allows developers to display 3D objects within the immersive environment.
- ARKit: Exposes APIs for augmented reality experiences.
- Immersive Spaces: Offers the ability to create and manage immersive spaces and multi-window apps.
-
SwiftUI lifecycle: Uses the SwiftUI lifecycle with
@UIApplicationDelegateAdaptor
, allowing access to the full visionOS SDK. -
Hover effect: Provides a custom
visionos_hoverEffect
prop onView
components to manage hover effects. - Compatibility mode distinction: Unlike running in a compatibility mode, this platform provides transparent, native-looking UI elements.