React Native beyond iOS and Android
React Native creates matching native views on iOS and Android. Every other platform needs someone to build that layer.
React Native's docs list partner platforms for macOS and Windows. For Linux they point to a renderer built on Skia whose README still calls it a proof of concept, with no commit since March 2023.
This platform renders on Linux, macOS, and Windows through Impeller. Flutter built Impeller to fix problems it had with Skia, and Impeller now ships as a standalone SDK with a C API meant for projects outside Flutter: a prebuilt binary for every Flutter commit, text layout and shaping included, and shaders compiled ahead of time so nothing compiles at runtime. It renders a React Native app in daily use.
Platforms
Each OS gets the same graphics backend Flutter ships there.
- macOS (arm64)Native Metal, 4x MSAA
- Linux (x64)OpenGL ES over EGL (Mesa)
- Windows (x64)OpenGL ES over ANGLE (Direct3D 11)
Read the docs
- IntroductionWhat it is and why it's built on Impeller.
- Get startedInstall the package, add the platform to your app, and run it.
- How it worksFabric, the scene graph, the raster thread, engine resolution.
- Supported components and style propsWhat renders, and what's tracked as a known gap.
- Platforms and requirementsBackend and OS requirements for Linux, macOS, and Windows.
- Contributing and releasingGates, mutation-verify, commit conventions, and how a release ships.