better-web-view 0.6.0

The library is a web-view modification and provides a better way of communication between the Rust backend and the JavaScript frontend.
Documentation
use better_web_view as web_view;

fn main() {
    let html = format!(r#"
        <!DOCTYPE html>
        <html>
            <head>
                <meta charset="UTF-8">
                <title>Hello example</title>
            </head>
            <body>
                {scripts}
            </body>
        </html>
        "#,
        scripts = format!(r#"<script type="text/javascript">{}</script>"#, include_str!("js/app.js"))
    );

    let mut router = web_view::Router::new();
    router.add("say_hello", say_hello);

    let webview = web_view::builder()
        .title("Hello example")
        .content(web_view::Content::Html(html))
        .size(800, 600)
        .resizable(true)
        .debug(true)
        .user_data(0)
        .router(router)
        .build()
        .unwrap();

    webview.run().unwrap();
}

fn say_hello(req: web_view::Request, mut res: web_view::Response) -> web_view::Response {
    if let web_view::Value::String(name) = req.data {
        let hello = format!("Hello {}!", name);

        res.data(web_view::json!(hello));

        return res;
    }

    res.err(String::from("Invalid argument"));

    res
}