rreive / wasmCloud

Project homepage. wasmCloud allows for simple, secure, distributed application development using WebAssembly actors and capability providers.

Home Page:https://wasmcloud.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Homepage and Documentation CNCF sandbox project Stars Powered by WebAssembly
reddit twitter youtube subscribers youtube views

wasmCloud logo

πŸ’» Distributed computing, simplified

The wasmCloud runtime is a vessel for running applications in the cloud, at the edge, in the browser, on small devices, and anywhere else you can imagine.

We want to bring joy to distributed systems development without sacrificing enterprise-grade features.

wasmCloud lets you focus on shipping features. Build secure, portable, re-usable components. Get rid of the headaches from being smothered by boilerplate, dependency hell, tight coupling, and designs mandated by your infrastructure.

Core Tenets

  • Productivity
  • Portability
  • Performance at any scale
  • Enterprise-grade security
  • Cost savings

Getting Started

Installation

Install the wasmCloud Shell (wash) with one command.

Walkthrough

If you're new to the wasmCloud ecosystem, a great place to start is the getting started walkthrough.

Examples

You can also take a look at a wide range of examples.

This includes actors, providers, interfaces, and full applications, including our Petclinic microservices app we've created to demonstrate how to design, compose, and build applications in wasmCloud.

πŸ’₯ Awesome wasmCloud

For even more examples, check out awesome projects using wasmCloud from our community members!

πŸ—ΊοΈ Roadmap and Vision

We have plenty of ideas and things going on in the wasmCloud project. Please check out the Roadmap doc for more information!

πŸ§‘β€πŸ’» Contributing

Want to get involved? For more information on how to contribute and our contributor guidelines, check out the contributing readme.

πŸ“š Other Resources

Reference Documentation

wasmCloud uses some terminology you might not be familiar with. Check out the reference section of our docs for a deeper dive.

RPC Framework

wasmCloud uses wasmbus-rpc to communicate between the host runtime, actors, and providers.

Declarative Deployments

The wasmCloud Application Deployment Manager wadm uses the Open Application Model to define and deploy application specifications.

Host Runtimes

☁️ Elixir/OTP Runtime

The primary Cloud Native wasmCloud host runtime is the Elixir/OTP runtime. wasmCloud leverages Elixir/OTP for its battle-tested, massively-scalable foundation; we leverage Rust for its zero-cost abstractions, safety, security, and WebAssembly support.

πŸ¦€ Rust Runtime (Experimental)

Rust runtime is under heavy development at the root of this repository.

πŸ•Έ JavaScript Runtime (Experimental)

For running a wasmCloud host in a browser or embedding in a JavaScript V8 host, use the JavaScript Runtime

SDKs and libraries

πŸ¦€ wasmcloud_host (Experimental)

wasmcloud_host is a wasmCloud host runtime library written in Rust and available at ./crates/host. It is under heavy development, but is already used by Elixir/OTP and Rust runtimes. Bindings to other languages than Rust will be provided in the future. Latest documentation is available at wasmcloud.github.io/wasmCloud/wasmcloud_host.

πŸ¦€ wasmcloud_actor (Experimental)

wasmcloud_actor is a wasmCloud actor library written in Rust and available at ./crates/actor. It provides functionality, which facilitates building of wasmCloud actors. The API of the crate matches closely what wit-bindgen would generate, meaning that one can switch from using plain wit-bindgen-generated bindings to wasmcloud_actor (and back) with minimal or no code changes. Latest documentation is available at wasmcloud.github.io/wasmCloud/wasmcloud_actor.


We are a Cloud Native Computing Foundation sandbox project.

About

Project homepage. wasmCloud allows for simple, secure, distributed application development using WebAssembly actors and capability providers.

https://wasmcloud.com

License:Apache License 2.0


Languages

Language:Rust 96.1%Language:Nix 3.5%Language:Shell 0.3%Language:Dockerfile 0.1%