#borsh #serialization #binary #wasm #web-apps

workflow-serializer

Borsh 序列化负载的封装序列化框架

10 个版本 (5 个重大变更)

新版本 0.17.0 2024 年 8 月 19 日
0.16.0 2024 年 8 月 19 日
0.15.0 2024 年 7 月 26 日
0.14.1 2024 年 7 月 22 日
0.0.0 2024 年 6 月 17 日

174WebSocket

Download history 493/week @ 2024-06-17 47/week @ 2024-06-24 10/week @ 2024-07-01 198/week @ 2024-07-08 92/week @ 2024-07-15 575/week @ 2024-07-22 176/week @ 2024-07-29 63/week @ 2024-08-05

每月 914 次下载
用于 2 crates

MIT/Apache

21KB
553

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 环境中运行,或提供运行在这些环境中的抽象。

Crates

此项目包括以下 Crates。这些 Crates 包含精心挑选的函数和重新导出的功能,旨在为 Rust 应用程序提供平台中立的环境框架。

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

属于此项目但当前不在本存储库中的Crates

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

示例

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


贡献

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

依赖关系

~2.3–3.5MB
~60K SLoC