#desktop-applications #modern #apps #javascript #ui #browser #chrome

alcro

使用 Rust 和现代网络技术创建桌面应用程序的库

14 个版本

0.5.4 2022年2月25日
0.5.3 2021年4月1日
0.5.2 2021年3月21日
0.4.0 2020年11月26日
0.1.7 2020年6月30日

#495GUI 分类中

每月 26 次下载

MIT/Apache

56KB
1.5K SLoC

Alcro

Build Status Crates.io

一个用于使用 Rust 和现代网络技术构建桌面应用程序的小型库。它使用 Chrom(e/ium) 或类似的浏览器(如新版的 MS Edge)进行 UI。它不捆绑 Chrome,而是与现有的 Chrome 安装进行通信。因此,可以从 UI 调用 Rust 函数,也可以从 Rust 调用 JavaScript。

名称

Alcro 与 go 库 lorca 的工作方式类似,因此名称 alcro 是 lorca 的一个字母表排列。然而,它使用管道,而 lorca 使用 WebSocket。

文档

docs.rs

示例

https://github.com/Srinivasa314/alcro/tree/master/examples

功能

  • 小型应用程序
  • 使用 Web 技术进行 UI 开发,并使用安全、快速的 Rust 代码。
  • 可以控制并获取窗口的位置、大小和状态
  • 将 Rust 函数暴露给 JavaScript
  • 从 Rust 调用任何 JS 代码
  • 暴露的 Rust 函数在新的线程中执行,并且可以异步调用
  • 可以从 URL、本地文件或嵌入式文件加载 HTML
  • 打印 JS 控制台消息和异常,以便更容易调试
  • 可以以无头模式运行
  • 支持运行多个窗口(目前每个窗口应具有不同的用户数据目录)

限制

  • 需要安装 Chrom(e/ium)
  • 原生的系统托盘、等需要第三方 Crates

工作原理

Alcro 使用 Chrome DevTools 协议,并通过管道与之通信。

依赖关系

~5–16MB
~217K SLoC