15 releases (4 breaking)
|new 0.7.0||Sep 20, 2023|
|0.5.4||Aug 19, 2023|
|0.3.17||May 28, 2023|
|0.3.12||Mar 11, 2023|
#2168 in Procedural macros
1,073 downloads per month
Used in 45 crates (via workflow-wasm)
WORKFLOW-RS project is designed to provide a unified environment for development of async Rust applications that are able to run in native platforms (desktops and servers), and
WASM32 environments such as Web Browsers, Node.js NWJS (Node Webkit) and Electron.
- Platform neutral crates that are able to function in, or provide abstractions for, running on bare metal (native) as well as inside of a browser, Node.js or NWJS WASM-powered environments.
- BPF-friendly (Solana OS) environment that allows certain crates when building to the BPF targets.
This project is comprised of the following crates. These crates contain a carefully curated collection of functions and re-exports meant to provide a platform-neutral environment framework for Rust applications.
workflow-websocket- WebSocket crate with async Rust API that functions uniformly in the native environemnt (using Tokio) and within a browser using the native browser WebSockets.
workflow-rpc- RPC crate based on top of
workflow-websocketthat offers asynchronous Binary data relay over Workflow-WebSocket-based connections using Borsh serialization.
workflow-core- Core utilities used by the Workflow framework. These utilities implement as well as re-export curated implementations that are compatible with async Rust environment requiring
workflow-logLogging functionality that is Native, WASM (browser) and BPF-friendly.
workflow-terminalA unified terminal implementation designed to offer a terminal user interface in a native shell (OS) as well as in-browser. This implementation is helpful for creating and testing crates that are meant to function in-browser and on native platforms.
workflow-htmlHTML templating marco meant to offer an easy-to-use runtime html templating against DOM when using async Rust in-browser. This crate is a foundational pillar behind WORKFLOW-UX crate that offers Rust-based DOM-driven UX creation.
workflow-i18ni18n framework for Workflow-UX Applications. This framework offers runtime translation of text based on a phrase-dictionary database.
workflow-storeA crate offering a simple platform-neutral file (data) storage but resolving file paths at runtime based on the OS as well as supporting browser local-storage.
Crates that are a part of this project but are currently outside of this repository:
workflow-uxAsync Rust + HTML Web Component driven application user interface library.
async_traitmacro that exposes
workflow-terminal are available in the /examples folder.
This project is under heavy development. Any contributions, ideas or feedback would be very welcome.