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

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.0.0 2022年8月22日

#87 in HTTP客户端

Download history 266/week @ 2024-04-22 23/week @ 2024-04-29 11/week @ 2024-05-13 5/week @ 2024-05-20 5/week @ 2024-05-27 4/week @ 2024-06-03 570/week @ 2024-06-17 10/week @ 2024-06-24 16/week @ 2024-07-01 126/week @ 2024-07-08 4/week @ 2024-07-15 202/week @ 2024-07-22 30/week @ 2024-07-29

每月241次下载
用于 rustlink

MIT/Apache

310KB
4.5K SLoC

workflow-rs


github license

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

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

功能

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

crate

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

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

本项目的一部分,但目前位于此存储库之外的二进制文件

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

示例

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


贡献

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

依赖关系

~0–16MB
~182K SLoC