Skip to content

Tiny cross-platform UI library for Rust that uses a webview for rendering HTML5

License

Notifications You must be signed in to change notification settings

Kiberweb/rust-webview

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rust-webview

⚠️ This project is a work in progress. Very alpha. Really.

This crate uses C bindings from zserge/webview to display a Rust controllable webview for rendering modern UI interfaces using web technology. Included features:

  • Render HTML5, JavaScript and CSS in a full-fledged browser environment
  • Call Rust from JavaScript and JavaScript from Rust
  • Cross-platform: uses WebKit (Cocoa) on macOS, WebKit (GTK) on Linux and MSHTML on Windows
  • Controllable window properties: title, width, height and fullscreen
  • Compile to a single small binary: hello_world example is less than 200KB when packed
  • Controllable dialogs: alerts (info, warning, error), open and save files
  • Embeddable content for offline usage
  • Can render arbitrary HTML or a full external website
  • Think about it as an Electron app but 121MB smaller

Example

extern crate webview;

use webview::{Content, WebView};

fn main() {
    let view = WebView::new(
        "My awesome title",                     // The title of the window
        Content::Html("<h1>Hello world!</h1>"), // The content to display
        200,                                    // Width
        100,                                    // Height
        false,                                  // Resizable?
        false,                                  // Debugable?
    ).unwrap();

    // Starts the event loop
    view.join();
}

Screenshot

ISC License

Copyright 2018 Alan Hoffmeister <[email protected]>

Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.

About

Tiny cross-platform UI library for Rust that uses a webview for rendering HTML5

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 89.1%
  • Rust 9.2%
  • C 1.7%