lustre
Lustre is a declarative framework for building Web apps in Gleam.
Types
An App
describes a Lustre application: what state it holds and what kind
of actions get dispatched to update that model. The only useful thing you can
do with an App
is pass it to start
.
You can construct an App
from the two constructors exposed in this module:
basic
and application
. Although you can’t do
anything but start
them, the constructors are separated in case
you want to set up an application but defer starting it until some later point
in time.
+--------+
| |
| update |
| |
+--------+
^ |
| |
Msg | | #(Model, Effect(Msg))
| |
| v
+------+ +------------------------+
| | #(Model, Effect(Msg)) | |
| init |------------------------>| Lustre Runtime |
| | | |
+------+ +------------------------+
^ |
| |
Msg | | Model
| |
| v
+--------+
| |
| render |
| |
+--------+
pub type App(model, msg)