#desktop #electron #webkit #web-gui #api-bindings #web

已删除 web-view_suppress

Rust对webview的绑定,一个用于桌面应用程序渲染基于Web的GUI的轻量级跨平台库 - 从Boscop分支

使用旧的Rust 2015

0.3.0 2018年6月21日
0.2.4 2018年6月12日
0.2.3 2018年6月12日
0.2.2 2018年6月12日

#16 in #web-gui

每月24次下载

MIT 许可证

1MB
2.5K SLoC

Go 1.5K SLoC // 0.2% comments Rust 460 SLoC // 0.0% comments C++ 279 SLoC C 274 SLoC // 0.0% comments JavaScript 102 SLoC // 0.1% comments Python 56 SLoC // 0.0% comments JSX 16 SLoC // 0.2% comments

web-view   构建状态 最新版本

此库为webview库提供Rust绑定,以允许轻松创建基于Web技术的跨平台Rust桌面应用程序。

请注意,此包已从Boscop版本分支以抑制IE JavaScript警告。

它支持Rust后端和JavaScript前端之间的双向绑定。

它使用macOS上的Cocoa/WebKit,Linux上的gtk-webkit2,以及Windows上的MSHTML(IE10/11),因此您的应用程序将比使用Electron的更轻量。

有关使用信息,请参阅示例原始说明

欢迎贡献和反馈 :)

screenshot

建议

  • 如果您喜欢类型安全,请在前端使用ElmPureScript*编写,或者使用编译为asm.js的Rust前端框架,例如yew
  • 使用parcel对前端代码进行打包和压缩。
  • 使用inline-assets将所有资产(css、js、html)内联到单个index.html文件中,并使用include_str!()在Rust应用程序中嵌入。
  • 如果您的应用程序在Windows上运行,请为Rust可执行文件添加图标,使其看起来更专业™
  • 使用自定义npm脚本或justcargo-make来自动化构建步骤。
  • 使用前端中的localStorage或后端中的rustbreak在会话之间保持应用程序状态持久。
  • 顺便说一下,您也可以通过本地http服务器(例如绑定到临时端口)提供而不是通过js api注入应用程序资源。
  • 祝您编码愉快 :)

* 免费书籍《通过示例学习 PureScript》包含多个适合 PureScript 初学者的实用项目。


贡献机会

  • 为任何您的问题创建一个问题
  • 文档
  • 对该库的 API 和代码提供反馈
  • 一些函数还没有 FFI,例如 webview_dialog
  • 在非 Windows 平台上测试它,报告您发现的任何问题
  • 展示您的应用程序
  • 添加一个使用 Elm 或 Rust 编译成 asm.js 的示例
  • 添加一个与后端进行双向通信的 PureScript 示例
  • 为原始 webview 库做出贡献:例如 在 Windows 上添加 HDPI 支持
  • 使其能够将 webview 窗口创建为指定父窗口的子窗口。这将允许 webview 用于 Rust 中的 VST 音频插件的 GUI。 Rust VST 音频插件

应用程序想法

  • Rust IDE(通过将 xi-electron 迁移到 web-view)
  • Rust 数据可视化/绘图库,使 Rust 在数据科学方面更有用
  • 加密币钱包
  • IRC 客户端或其他聊天协议的客户端
  • MIDI 歌曲编辑器,VJ 控制器
  • Rust 项目模板向导:通过用户友好的步骤从模板生成新的 Rust 项目
  • pijul 的 GUI

注意:API 仍可能更改。目前只有一个函数(run())接受所有参数,但可能需要一个构建器会更好。

依赖关系