kwui 0.2.2

A GUI library with JSX/CSS support
Documentation
<div align="center">
<img src="docs/icon.svg" width="140px" />

# kwui


A cross-platform GUI library for Rust focused on simplicity and fast development of small tools.
Inspired by [sciter](https://sciter.com).

</div>

## Features


* Builtin JavaScript engine, and CSS parser
* React Hooks alike functional components API
* Easy interop between `Rust` and `JavaScript`
* Cross-platform support (Windows, Android)

## Documentation


- [User Guide]https://wanghoi.github.io/kwui
- [Rust API References]https://docs.rs/kwui

## FAQ


1. 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


```javascript
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

<img alt="image"  src="docs/VoIPTool.png" width="50%" />

### Remote Desktop

<img alt="image" src="docs/KuDesk.jpg" width="50%"/>

### Installer


<img alt="image" src="docs/installer.png" width="50%"/>

### Android examples

<img alt="image" src="docs/richtext-android.jpg" width="33%"/>
<img alt="image" src="docs/installer-android.jpg" width="33%"/>