Contributor tutorials

Learn to create composite pieces, native pieces, and parts.

  • Tutorial: A composite piece (no native code)

    A step-by-step guide to building a reusable widget (a star rating) by composing Day's core primitives, with no platform-specific code. It works on every backend.

  • Tutorial: A native piece (per-toolkit)

    Build a piece backed by a native control on each platform: a front-end in Rust plus per-toolkit backends (objc2 for AppKit/UIKit, gtk-rs, a Qt C++ shim, an Android Java factory, XAML), registered without touching any core Day crate.

  • Tutorial: A part with native platform code

    Build a headless capability crate (a battery monitor) with a shared Rust API and per-platform native implementations (Rust FFI, Android Java, and more), selected by cfg. Includes how to contribute a Java shim and iOS framework to the app build, and how a bridge generates that same glue.