coka / moxie

a runtime for lightweight platform-agnostic declarative UI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

moxie

Crates.io

moxie (/ˈmäksē/) is a lightweight platform-agnostic UI runtime written in Rust, powering a strongly-typed declarative programming style with minimal interaction latency.

moxie is principally inspired by React and more specifically the recent Hooks API. It aims to smoothly bridge the gap between stateless tools like dear imgui and "traditional" UI paradigms with manually managed graphs of stateful, mutable objects. There are many interesting parallels in our design to those of recently announced UI frameworks Jetpack Compose and SwiftUI, although a more in-depth comparison hasn't yet been made. Also, in the course of looking for prior art (ahem googling "memoized imgui"), I found a very interesting thread on LtU discussing various commenters' efforts and curiosities -- it's a fun read.

Versioning

moxie currently requires a nightly Rust toolchain as specified in ./rust-toolchain for the async_await feature.

Contributing

The project is not yet ready for external contributions, although I hope to change this message before RustConf 2019 (we'll see!). In the meantime, I'm currently trying out a Discord server for chat and will continue working towards the project's maturity enough to onboard!

See CONDUCT.md for the project's Code of Conduct.

License

Licensed under either of

at your option.

About

a runtime for lightweight platform-agnostic declarative UI

License:Apache License 2.0


Languages

Language:Rust 88.7%Language:CSS 10.0%Language:HTML 1.3%