Rust application platform
Build, test, package, and release production apps in Rust.
Fission is a full application platform for macOS, Windows, Linux, Web, Android, iOS, Terminal, Static site, and SSR targets, with one shared app model and lifecycle tooling around it.
Write product state as plain Rust data, render with widgets, run through target shells, then use the CLI for devices, tests, preflight checks, packages, signing, release content, and distribution.
Create an app
$
fission init my-app
Run on a target
$
fission run --project-dir my-app
Check release readiness
$
fission readiness release --target windows --format msix --provider microsoft-store
Desktop
Web/WASM
Android + iOS
Terminal
Static site
SSR
What Fission is
One platform for the whole application lifecycle.
Fission combines a Rust UI runtime, target shells, developer workflow, package readiness, release content, and distribution tooling so teams do not have to invent a platform around the framework.
Build
Shared product model
State, reducers, selectors, widgets, design systems, charts, commands, jobs, and services stay in Rust.
Learn the model ->
Run
Real target shells
Desktop, Web, Mobile, Terminal, Static site, and SSR shells host the same app model.
See targets ->
Verify
Tests and diagnostics
Unit, widget, shell, screenshot, device, readiness, and future inspector tools are part of the platform story.
Debug path ->
Ship
Post-build lifecycle
Package, sign, publish, manage testers, rollouts, tracks, static hosts, app stores, and release receipts.
Release path ->
Application lifecycle
From first run to store rollout.
The docs now follow the path teams actually take: setup, develop, test, debug, package, sign, release, distribute, and keep receipts for automation.
01
Start
init, project shape, targets
02
Develop
run, devices, logs, shells
03
Debug
tests, screenshots, inspectors
04
Package
artifacts, signing, preflight
05
Release
stores, hosts, rollouts, receipts
Shared across every target
State, reducers, layout rules, semantics, rendering stages, and testable runtime behavior.
State and reducers
Layout rules
Semantics tree
Input routing
Rendering stages
Testable runtime behavior
Owned by each shell
Native windows, browser canvas, package shape, lifecycle hooks, and host-specific integration.
Native windows
Browser canvas
Package shape
Lifecycle hooks
OS integration
Capability brokering
Pipeline
Build -> InternalLower -> Layout -> Paint -> Render
Same pipeline on every host.
Beautiful charts
Dashboards, analytics, finance, maps, networks, and 3D-ready visuals.
Fission Charts is the native charting layer for Fission apps, with more than 400 renderer-backed variants covering line, bar, area, pie, scatter, heatmap, financial, relationship, map, component, dynamic, and 3D chart work - without leaving the Rust UI model.
Line
Bar
Area
Pie
Scatter
Heatmap
Financial
Relationship
Map
Component
Dynamic
3D
Why the model stays stable
The important boundaries stay visible.
Fission is strict about where state changes happen, where host work starts, and how rendering is produced.
fn reduce(state: &mut GlobalState, action: Action) { match action { Action::Inc => state.count += 1, Action::Reset => state.count = 0, } }
01
Plain Rust data stays in charge.
Product truth is not hidden inside widgets or host callbacks.
State
02
Every durable change has a named cause.
Typed actions and reducers keep behavior reviewable and testable.
Reducers
03
Outside work has an explicit path.
Files, timers, authentication, and services do not leak through rendering.
Host work
04
Layout and paint stay inspectable.
Tests and diagnostics can inspect structure, semantics, and paint order directly.
Render
Targets
macOS, Windows, Linux, Web, Android, iOS, Terminal, Static site, and SSR are first-class targets.
Start on the host that answers your next product question fastest, then validate on every real target your users will touch.
macOS
First-class
Desktop shell
Native windows, rendering, input, diagnostics, package readiness, and macOS release paths.
fission run --target macos
macOS path ->
Windows
First-class
Desktop shell
Native windows, rendering, input, diagnostics, package readiness, and Windows release paths.
fission run --target windows
Windows path ->
Linux
First-class
Desktop shell
Native windows, rendering, input, diagnostics, package readiness, and Linux package paths.
fission run --target linux
Linux path ->
Web
First-class
Web shell
Browser delivery with the same shared app model and WebAssembly packaging workflow.
fission run --target web
Web path ->
Android
First-class
Mobile shell
Generated Android host, emulator/device workflow, APK/AAB readiness, and Play distribution.
fission run --target android
Android path ->
iOS
First-class
Mobile shell
Generated iOS host, simulator/device workflow, IPA readiness, and App Store distribution.
fission run --target ios
iOS path ->
Terminal
First-class
Terminal shell
Interactive terminal apps built from normal Fission widgets, reducers, screens, and routes.
fission ui
Terminal path ->
Static site
First-class
Site shell
SEO-friendly Static site output from Fission widgets, Markdown content, search, metadata, and assets.
fission site build
Static site path ->
SSR
First-class
Server shell
Request-time Fission HTML with jobs, sessions, signed actions, cache policy, workers, and islands.
fission server serve
SSR path ->
Examples
Examples across the platform, not only the widget layer.
Start with the smallest app, then inspect the examples that prove targets, charts, Static site, SSR, Terminal tooling, and release workflow.
Starter
Counter
cargo run -p counter
The smallest complete Fission app loop: plain state, two reducers, a widget tree, and buttons bound with the public prelude macros.
typed actions and reducers
single-file starter app
Site
Documentation
fission site build --project-dir documentation
This website is a Fission static site: custom homepage widgets, Markdown content routes, generated search, metadata, sidebars, and GitHub Pages output.
Static site shell
content routes and custom widgets
Server
Pokemon card store
fission server serve --project-dir examples/pokemon-card-store
The server-rendered store demonstrates request-time routes, sessions, signed actions, server jobs, cache policy, generated workers, and focused islands.
server shell
dynamic Fission HTML
Terminal
Fission command UI
fission ui --project-dir .
The CLI includes a terminal Fission app with screens, routes, reducers, dialogs, command sessions, logs, settings, density, and theme switching.
terminal shell
non-blocking command workflow
Next
Pick a lifecycle stage and keep moving.
Start with the app model, add the targets you need, then use Fission's tooling to verify, package, and release the product.
Fission
A cross-platform, GPU-accelerated user interface framework for Rust. MIT licensed.
Copyright (c) 2026 Fission
Ready to use today. Widget APIs are expected to remain stable; some runtime and shell APIs may change before 1.0.0.
Fission 0.7.0