FRAMEWORKExperimental — not for production

Overview

Native desktop applications with React Native and Expo Desktop.

Experimental — not ready for production

Legend Spark is still experimental and is not ready for production use. APIs, native implementations, and tooling can change. Public npm packages and hosted prebuilt runtimes are not available yet.

Legend Spark adds desktop application APIs and a managed development workflow to React Native and Expo Desktop. Build interfaces with React Native components, use native windows, menus, dialogs, and files, and edit JavaScript with Fast Refresh.

The public package name is @legendapp/spark; the CLI is spark. These names describe the source checkout, not a published npm release.

How the pieces fit

  • React Native renders the interface with native components. Application JavaScript runs in Hermes.
  • Expo supplies mobile/web tooling and libraries where they fit the framework's contracts.
  • Expo Desktop beta creates projects from templates and generates native desktop projects.
  • Spark supplies desktop capabilities, runtime compatibility checks, prebuilt/custom runtime selection, and application build orchestration. Its development terminal extends Expo CLI.

The goal is one project targeting mobile, web, and desktop. That does not mean every desktop API exists on every platform. Shared screens use platform adapters; native windows and desktop lifecycle remain desktop concerns.

For Electron migrations, plan to replace DOM/CSS screens with React Native screens and browser/main-process integrations with supported APIs. Spark does not embed Node or provide an Electron compatibility layer. An optional WebView can host selected web content, but it is not the application's primary renderer.

Current platform scope

PlatformCurrent scope
macOSApple Silicon, macOS 14+, prebuilt/custom development and standalone builds; experimental
Windowsx64/ARM64 development workflows and native implementations; compilation and behavioral acceptance still pending; no production build workflow
iOS / Android / webExpo workflows and selected shared API/UI adapters; not desktop feature parity
Intel macOS / LinuxNot supported by the current workflow

The checkout targets Expo SDK 54 / React Native 0.81 and Expo Desktop beta. Historical native test reports do not prove that the renamed Spark binaries have passed acceptance.

Start exploring

Source and detailed engineering guides live in LegendApp/legend-spark.