Druid is a framework for building simple graphical applications.
Druid is composed of a number of related projects.
druid-shell is a
low-level library that provides a common abstraction for interacting with the
current OS & window manager.
piet is an abstraction for doing 2D graphics;
kurbo is a library for 2D geometry; and
druid itself is an opinionated set of
high-level APIs for building cross-platform desktop applications.
Druid is data oriented. It shares many ideas (and is directly inspired by) contemporary declarative UI frameworks such as Flutter, Jetpack Compose, and SwiftUI, while also attempting to be conceptually simple and largely non-magical. A programmer familiar with Rust should be able to understand how Druid works without special difficulty.
The current goal of Druid is to make it easy to write a program in Rust that
can present a GUI and accept user input. Running your program should be as