react-native-gpui brings React Native to the desktop.
Write your app once in React and ship it as a native executable on every desktop platform.
function App() {
return (
<View style={styles.root}>
<Logo />
<Text>
Welcome to React Native
on Desktop!
</Text>
</View>
);
}
Written in JavaScript, rendered on the GPU. React primitives are drawn by GPUI, a GPU-accelerated renderer written in Rust, while your app talks to the operating system through native modules.
react-native-gpui draws your app with one GPU-accelerated renderer on macOS, Windows, and Linux, so it looks and behaves the same everywhere. It provides the core components you know, like View, Text, and Image, plus desktop features like windows, menus, and keyboard shortcuts.
React Native gives you the components. react-native-gpui adds the desktop: windows, menus, a tray, native modules, and the tooling to build and package your app for every platform.
Open multiple windows, build application and context menus, register keyboard shortcuts, and add a tray icon.
Write Turbo Native Modules in Rust or C++, or load Node addons, and call the operating system from JavaScript.
Run with run-desktop, get Fast Refresh through Metro, and open the dev menu. Package signed installers with package-desktop.