Incular logoIncular
Introduction

Comparison

How Incular differs from Flutter, immediate-mode, and webview frameworks.

Incular vs Flutter

Flutter is the vocabulary inspiration (Row, Column, Stack, Container will feel familiar), but Incular is not a binding and shares no code:

FlutterIncular
LanguageDartRust
RenderingImpeller/SkiaWGPU (native GPU)
WebSupportedExplicitly not targeted
StateStatefulWidget/Riverpod/BlocReactive Signal, Memo, and Effect
InteropPlatform channelsDirect Rust crates, Tokio tasks

If you know Flutter layout (constraints down, sizes up), that knowledge transfers. If you expect Dart packages or web builds, reset those expectations.

Incular vs immediate-mode Rust UI

Immediate-mode libraries rebuild and re-record everything every frame from user code that runs each frame. Incular is retained: the Application owns the tree, fine-grained signal dependencies decide what rebuilds, and paint/layout caches survive across frames. You pay for what changes, not for what exists.

Incular vs webview wrappers

Webview-based frameworks render HTML/CSS in an embedded browser. Incular renders with the GPU through WGPU from retained scene data — no browser, no DOM, no JavaScript bridge. The cost is a smaller widget catalog today; the benefit is native execution and Rust-level control over scheduling, tasks, and restoration.

Incular vs OS-native bindings

Direct WinUI/AppKit/GTK bindings expose each platform's objects. Incular exposes one declarative API and one desktop host, with platform differences surfaced as data (PlatformCapabilities, window options, input capabilities) rather than separate widget sets.

On this page