A cross-platform GUI library for Rust focused on simplicity and fast development of small tools. Inspired by sciter.
- Builtin JavaScript engine, and CSS parser
- React Hooks alike functional components API
- Easy interop between
Rust
andJavaScript
- Cross-platform support (Windows, Android)
- Why another GUI library?
- Porting server-side Rust code to client-side quickly, to explore and evaluate new technology.
- Porting tools to mobile platforms quickly.
import { useState } from "Keact";
function HelloWorld(props, kids) {
let [n, setN] = useState(0);
return <button onclick={() => setN(n + 1)}>{`Click ${n} times`}</button>;
}
app.showDialog({
title: "Hello World",
root: <HelloWorld />,
stylesheet: css`
button { margin: 10px; padding: 4px; background-color: orange; }
button:hover { background-color: orangered; }
`
});