#javascript #css #html #html-css #cross-platform-ui #api-bindings

webview

一个小巧的跨平台UI库,使用webview渲染HTML5

2个版本

使用旧的Rust 2015

0.1.1 2018年2月2日
0.1.0 2018年1月11日

#307 in 渲染

ISC 许可证

19KB
250

rust-webview

⚠️ 此项目正在开发中。非常初级。

此crate使用来自 zserge/webview 的C绑定来显示一个由Rust控制的webview,用于使用Web技术渲染现代UI界面。包括的功能

  • 在完整的浏览器环境中渲染HTML5、JavaScript和CSS
  • 从JavaScript调用Rust,从Rust调用JavaScript
  • 跨平台:在macOS上使用WebKit (Cocoa),在Linux上使用WebKit (GTK),在Windows上使用MSHTML
  • 可控制的窗口属性:标题、宽度、高度和全屏
  • 编译为单个小型二进制文件:hello_world 示例在打包后小于 200KB
  • 可控制的对话框:警报(信息、警告、错误)、打开和保存文件
  • 嵌入式内容,用于离线使用
  • 可以渲染任意HTML或完整的外部网站
  • 将其视为Electron应用程序,但小 121MB

示例

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 许可证

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.

依赖项

~200KB