Introduction
Next.js DX for desktop apps — React 19 + Vite, Rust-native, without writing Rust.
Murasaki lets you build native desktop apps the way you build a Next.js app: file-based routing, layouts, server actions, API routes, and React 19 — running in a Rust-native window, not Electron's bundled Chromium.
You write React and TypeScript. Murasaki ships a small Rust core
(@murasakijs/native, built on tao/wry/muda) that gives you a real native
window, native menus, and OS integration — without you writing any Rust.
Why Murasaki
| Murasaki | Electron | Tauri | |
|---|---|---|---|
| UI runtime | OS WebView (wry) | bundled Chromium | OS WebView |
| Language | TypeScript / React | TypeScript / React | TypeScript + Rust |
| DX | Next.js-style (Vite HMR) | manual wiring | manual wiring |
| Memory (idle) | ~1/5 of Electron* | baseline | small |
| Installer size | ~43 MB .dmg / ~120 MB .app† | ~80–150 MB* | ~3–10 MB* |
| Server actions | defineAction / useAction | manual IPC | manual IPC / commands |
* Commonly-cited ballpark for Electron/Tauri — not a measured benchmark. †
Measured on macOS — the .app bundles a full Node runtime, which is where
most of its size comes from.
Choose Murasaki if you know React/Next.js and want a small-footprint desktop app without learning Rust or hand-wiring IPC.
What you get
- File-based routing —
src/app/**/page.tsx, layouts, dynamic segments,loading/error/not-found,middleware.ts. See Routing. - Server Actions —
'use server'+defineAction/useAction, the React 19 shape you already know. See Server Actions. - Node Main — a long-lived Node lifecycle plus typed
'use main'calls for databases, sockets, workers, and background work. See Node Main. - API Routes — Next.js-style
src/api/**/route.tsHTTP endpoints. See API Routes. - Native window & menus — a real native window, a native menu bar, and
scoped native context menus (
NSMenu, not HTML popups). See Native APIs. - UI kit —
@murasakijs/ui, a shadcn-style component library. See Styling and the live Components. - Real distribution — portable, cross-arch native installers for macOS and Windows, optional code signing + notarization. See Distribution.
Bundling ships installers for macOS (.app / .dmg) and Windows (.zip /
.exe / .msi) today; Linux (.AppImage) is on the roadmap. The Rust core
already builds for all five targets.
Murasaki is pre-1.0. Review the platform and feature status for production blockers such as global shortcuts, Linux packaging, and Linux package signing.