Skip to content

Native apps.
Unbound ideas.

A native Rust UI framework for the way you think. Compose your interface. Connect your state.
Bring something new to life.

cargo run -p incular --example hello

From a local checkout to your first native window.

ONE CODEBASE.
RIGHT AT HOME, EVERYWHERE.

  • Windows
  • macOS
  • Linux

Thoughtfully simple.
Powerfully yours.

Your ideas already have enough moving parts.
Your UI framework should bring them together.

Small widgets. Big ideas.

Compose a little. Create a lot. Build rich interfaces from focused, reusable widgets that fit together naturally.

Explore the widgets

State that stays in sync.

Connect your UI to reactive signals. When state changes, Incular rebuilds the parts of your interface that depend on it.

Meet reactive state

Rust, all the way down.

Your layout, your logic, your language. Keep your application in Rust, with native windows and a WGPU rendering pipeline.

See how it works

From Rust to something real.

Explore the examples
Choose a code example
main.rs
use incular::prelude::*;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let app = Application::new(|_cx| {
        Container::builder()
            .padding(EdgeInsets::all(24.0))
            .alignment(Alignment::CENTER)
            .child(Text::new("Hello, Incular!"))
            .build()
            .into()
    })?;

    incular::run(app)?;
    Ok(())
}

Try it on your desktop.

Create a native application with a centered text widget.

These snippets introduce the API. From a local checkout, run the complete hello example in a native window:

cargo run -p incular --example hello

Give your ideas
a native home.

Start small. Make it yours. See where it takes you.