frus-shell
The platform layer of frus: the window, the event loop, and the Application contract an
application is driven through, on desktop, Android and the web.
Layer: Shell. It is the only crate that knows which platform it runs on; everything platform-specific (winit, the Android input and clipboard bridges, AccessKit, the browser) is gated here and nowhere else. See ARCHITECTURE.md.
What you reach for
FrusApp: an application made of components — a root widget, and how it is dressed.Application:update,view, and optionallysubscription,init,titleand the rest.FrusAppis one whose message is a closure.CommandandSubscription: effects, includingperform_asyncfutures, and continuous sources such asSubscription::every.main!: one declaration that generates the desktoprun(), Android'sandroid_mainand the web's start function.
Example
use ;
use ;
;
Features
net adds the fetch helper and Request (ureq natively, the browser's fetch on the
web); json adds typed bodies through serde. The bundled-* features forward the font
choice.
Part of frus
Applications usually depend on the frus facade, which re-exports this crate. See the
workspace README. Licensed under MIT or
Apache-2.0.