24个版本 (11个破坏性版本)

新版本 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日

#202 in HTTP客户端

Download history 608/week @ 2024-04-23 145/week @ 2024-04-30 119/week @ 2024-06-11 465/week @ 2024-06-18 7/week @ 2024-06-25 97/week @ 2024-07-02 124/week @ 2024-07-09 42/week @ 2024-07-16 172/week @ 2024-07-23 22/week @ 2024-07-30

每月237次下载
用于 kaspa-os

MIT/Apache

565KB
6K SLoC

workflow-rs


github license

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

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

功能

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

存储库

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

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

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

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

示例

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


贡献

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

依赖关系

~13–27MB
~423K SLoC