8 releases
0.2.2 | Jul 3, 2024 |
---|---|
0.2.1 | Jun 18, 2024 |
0.2.0-beta.3 | Jun 12, 2024 |
0.1.1 | Mar 7, 2024 |
0.1.0 | Mar 6, 2024 |
#277 in GUI
1MB
3.5K
SLoC
kwui
A cross-platform GUI library for Rust focused on simplicity and fast development of small tools. Inspired by sciter.
Features
- Builtin JavaScript engine, and CSS parser
- React Hooks alike functional components API
- Easy interop between
Rust
andJavaScript
- Cross-platform support (Windows, Android)
Documentation
FAQ
- 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.
Example - Hello world
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; }
`
});
Gallery
VoIP Test tool
Remote Desktop
Installer
Android examples
Dependencies
~0–4MB
~73K SLoC