-
-
Notifications
You must be signed in to change notification settings - Fork 28
Platforms
LeoTM edited this page Oct 5, 2025
·
7 revisions
- [2015mar] iOS: The framework was first announced and open-sourced for iOS at the React.js Conf in March 2015.
- [2015sep] 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.
- iOS SDK and UIKit: React Native for iOS interacts with native UIKit components for rendering the user interface, resulting in a native look and feel.
- Platform-specific APIs: Developers can access iOS-specific APIs and features, such as ARKit or HealthKit, by writing custom native modules in Swift or Objective-C that bridge to the JavaScript code.
- Hardware APIs: Support for hardware features like the camera and GPS is provided through native modules.
- Third-party libraries: The framework supports the integration of external libraries and SDKs through CocoaPods for advanced functionalities.
- 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 to native performance tools like Xcode's Instruments allows developers to identify and optimize bottlenecks.
- Android SDK: React Native for Android renders native Android components, ensuring a native appearance and performance.
- Platform-specific APIs: Developers can use custom native modules written in Java or Kotlin to access Android-specific APIs for advanced or specialized features.
- Hardware APIs: Similar to iOS, access to hardware APIs like the camera and GPS is available.
- Edge-to-edge support: Recent versions of React Native automatically support the edge-to-edge display required by modern Android APIs.
-
Predictive back gesture: The framework supports the Android 16 predictive back gesture by default, with an option to customize the behavior using the
BackHandler
API. - Performance tooling: Access to native performance tools is available for performance analysis and 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.