Code Monkey home page Code Monkey logo

workflow-rs


github license

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.

Features

  • 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.

Crates

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-dom - DOM utilities offering JavaScript injection functionality at runtime, allowing you to load JavaScript into the browser environment at Runtime using Rust. (This allows you to embed JavaScript modules directly into your Rust crates.
  • 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-websocket that 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 Send markers.
  • workflow-log Logging functionality that is Native, WASM (browser) and BPF-friendly.
  • workflow-wasm A set of WASM helper modules and utility functions for accessing JavaScript object properties.
  • workflow-terminal A 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-html HTML 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-i18n i18n framework for Workflow-UX Applications. This framework offers runtime translation of text based on a phrase-dictionary database.
  • workflow-store A 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-ux Async Rust + HTML Web Component driven application user interface library.

Examples

Examples for workflow-websocket, workflow-rpc and workflow-terminal are available in the /examples folder.


Contributing

This project is under heavy development. Any contributions, ideas or feedback would be very welcome.

WORKFLOW-RS's Projects

workflow-rs icon workflow-rs

Rust application development framework for native and web applications

workflow-ux icon workflow-ux

WebComponent-based application user interface framework based on async Rust

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.