2 个不稳定版本

0.17.0 2024 年 8 月 19 日
0.0.0 2024 年 8 月 19 日

#95WebSocket

Download history 192/week @ 2024-08-16

192 每月下载量

MIT/Apache

155KB
3.5K SLoC

workflow-rs


github license

WORKFLOW-RS 项目旨在为能够在 原生 平台(桌面和服务器)以及 Web 浏览器Node.jsNWJS (Node Webkit)Electron 等环境中的 异步 Rust 应用程序 开发提供一个统一的环境。

WORKFLOW-RS 由 ASPECTRON 开发团队在 https://aspectron.org 开发

功能

  • 平台中立的 crate,能够在裸机(原生)环境中运行,或为在浏览器、Node.js 或 NWJS WASM 环境中运行提供抽象。

crate

该项目由以下 crate 组成。这些 crate 包含了一个精心挑选的函数和重新导出集合,旨在为 Rust 应用程序提供一个平台中立的框架环境。

  • workflow-dom - 提供运行时 JavaScript 注入功能的 DOM 工具,允许您使用 Rust 在运行时将 JavaScript 加载到浏览器环境中。 (这允许您直接将 JavaScript 模块嵌入到您的 Rust crate 中。
  • workflow-websocket - 具有异步 Rust API 的 WebSocket crate,在原生环境中(使用 Tokio)以及使用原生浏览器 WebSocket 在浏览器中使用时功能统一。
  • workflow-rpc - 基于 workflow-websocket 的 RPC crate,提供使用 Borsh 序列化进行异步二进制数据中继的 Workflow-WebSocket 基于连接。
  • workflow-core - Workflow 框架使用的核心工具。这些工具实现了兼容需要 Send 标记的异步 Rust 环境的精选实现,并重新导出。
  • workflow-log 兼容原生、WASM(浏览器)和BPF 的日志功能。
  • workflow-wasm 一组WASM辅助模块和实用函数,用于访问JavaScript对象的属性。
  • workflow-terminal 一种统一的终端实现,旨在在原生shell(OS)以及浏览器中提供终端用户界面。这种实现有助于创建和测试旨在在浏览器和原生平台上运行的crate。
  • workflow-html HTML模板宏,旨在在浏览器中使用异步Rust时提供易于使用的DOM运行时HTML模板。这个crate是WORKFLOW-UX crate背后的基石,该crate提供基于Rust的DOM驱动UX创建。
  • workflow-i18n Workflow-UX应用程序的i18n框架。这个框架提供基于短语字典数据库的运行时文本翻译。
  • workflow-store 一个提供简单平台无关的文件(数据)存储的crate,但在运行时基于OS解析文件路径,同时支持浏览器本地存储。

本项目的一部分,但目前不在本仓库中的crate

  • workflow-ux 异步Rust + HTML Web组件驱动的应用程序用户界面库。

示例

workflow-websocketworkflow-rpcworkflow-terminal 的示例在 /examples 文件夹中可用。


贡献

本项目正在积极开发中。任何贡献、想法或反馈都将非常受欢迎。

依赖关系

~13–28MB
~432K SLoC