18个版本 (7个重大更新)

新增 0.17.0 2024年8月19日
0.15.0 2024年7月26日
0.14.1 2024年7月22日
0.11.0 2024年2月25日
0.8.1 2023年11月1日

#520 in WebAssembly

Download history 315/week @ 2024-04-28 268/week @ 2024-05-05 208/week @ 2024-05-12 123/week @ 2024-05-19 182/week @ 2024-05-26 111/week @ 2024-06-02 230/week @ 2024-06-09 1011/week @ 2024-06-16 389/week @ 2024-06-23 521/week @ 2024-06-30 439/week @ 2024-07-07 311/week @ 2024-07-14 679/week @ 2024-07-21 553/week @ 2024-07-28 304/week @ 2024-08-04 203/week @ 2024-08-11

每月下载 1,784次
9 个crate中使用 (通过 workflow-store)

MIT/Apache

155KB
3.5K SLoC

workflow-rs


github license

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

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

功能

  • 平台中立的crate,能够在裸金属(原生)或浏览器、Node.js或NWJS WASM环境内部运行,并提供运行时功能。

crate

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

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

属于此项目但当前不在该存储库中的crate

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

示例

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


贡献

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

依赖项

~12–29MB
~402K SLoC