34个版本 (13个重大更改)

0.17.0 2024年8月19日
0.15.0 2024年7月26日
0.11.0 2024年2月25日
0.10.2 2023年12月24日
0.3.12 2023年3月11日

#1818进程宏

Download history 875/week @ 2024-04-28 401/week @ 2024-05-05 342/week @ 2024-05-12 310/week @ 2024-05-19 323/week @ 2024-05-26 271/week @ 2024-06-02 306/week @ 2024-06-09 1249/week @ 2024-06-16 558/week @ 2024-06-23 727/week @ 2024-06-30 565/week @ 2024-07-07 461/week @ 2024-07-14 837/week @ 2024-07-21 679/week @ 2024-07-28 407/week @ 2024-08-04 334/week @ 2024-08-11

2,303 每月下载
55 个crates中使用 (通过 workflow-wasm)

MIT/Apache

7KB
107

workflow-rs


github license

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

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

功能

  • 平台无关的crates,能够在裸机(原生)或浏览器、Node.js或NWJS WASM环境下运行,并提供运行时的JavaScript注入功能。

crates

本项目由以下crates组成。这些crates包含了一组精心挑选的函数和导出,旨在为Rust应用程序提供一个平台无关的环境框架。

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

此项目的一部分,但目前位于此存储库之外

  • workflow-ux 基于 Async Rust + HTML Web 组件的应用程序用户界面库。

示例

workflow-websocketworkflow-rpcworkflow-terminal 的示例位于 /examples 文件夹中。


贡献

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

依赖关系

~1–1.7MB
~31K SLoC