

Fast AF.RN libraries, a desktop framework, apps.
Explore LegendOpen-source libraries
For React and React Native, on npm.
Spark
A framework for native desktop apps in React Native.
React Native, meet the desktop.
Build native Mac apps with React Native and Expo Desktop. Screens use React Native's native renderer, JavaScript runs in Hermes, and one package brings real windows, menus, dialogs, and files.
npm create @legendapp/spark@next MyApp@legendapp/spark/…- windows
- menus
- context-menu
- shortcuts
- global-shortcuts
- dialogs
- files
- settings
- secure-storage
- clipboard
- drag-drop
- notifications
- tray
- sqlite
- webview
- updates
import { AppRegistry, Text } from 'react-native'
import { createMenu } from '@legendapp/spark/menus'
import { openWindow } from '@legendapp/spark/windows'
AppRegistry.registerComponent('Inspector', () => () => <Text>Inspector</Text>)
createMenu({
id: 'editor',
items: [{
type: 'submenu', id: 'view', label: 'View',
items: [{ type: 'action', id: 'inspector',
label: 'Show Inspector', shortcut: 'CmdOrCtrl+I' }],
}],
onAction: ({ itemId }) => {
if (itemId === 'inspector') {
// A second native window, rendering a React Native root
openWindow({
id: 'inspector',
component: 'Inspector',
title: 'Inspector',
size: { width: 480, height: 640 },
})
}
},
}).catch(console.error)- 01
Spark Runner
A prebuilt development app. Run your project without compiling native code; edits use Fast Refresh.
- 02
Custom development build
Add native modules or app-specific native configuration. JavaScript still reloads with Fast Refresh.
- 03
Standalone app
A .app with embedded JavaScript that runs without Metro. Sign and notarize it with your Developer ID.
Not ready for production. macOS 14+ on Apple Silicon is the primary target, built on Expo SDK 54 and React Native 0.81. Intel and Windows builds still need validation.
Apps
Made by Legend.
Legend
Your notes, tasks, and projects. Together.
legendapp.com
Demo apps
Small, focused apps to download and try.






