Skip to main content

Developer handbook

Dasher v6 and beyond. This handbook covers the active v6 codebase — the shared DasherCore engine and native frontends (Apple, Windows, GTK). For the stable v5 release, see Dasher 5.0 downloads or the v5 development notes.

Dasher v6 is one shared engine (DasherCore) consumed by several native frontends. This handbook is the navigation hub for anyone working on Dasher code.

The architecture at a glance

RepositoryPlatformUI stackDasherCore integration
DasherCoreAllC++ engine + C APIis the engine
Dasher-AppleiOS / macOS / visionOSSwiftUIsubmodule (C API via bridging header)
Dasher-WindowsWindowsAvalonia (.NET)submodule (C API via P/Invoke)
Dasher-GTKLinux (+ Win/macOS fallback)GTK4 / gtkmmsubmodule (C API via CMake)

dasher-web is a standalone WASM demo (not a full frontend) — it powers the live demo on the homepage. It’s available for anyone who wants to embed Dasher on the web, but it is not under active feature development.

Read the architecture overview for how the engine and frontends fit together, and the C API contract in DasherCore for the exact integration surface.

Where do I start?

Build guides

Keeping frontends in sync

Parity is a first-class goal. Every frontend PR template asks: “does this change a capability users see on other platforms?” If yes, update the feature matrix. If it’s a new UX/hardware interaction, write an RFC first so the other platforms can align their blueprints.

See: