From eaaeef25ccf7840e9a82a675960d53e5b4a433da Mon Sep 17 00:00:00 2001 From: deadprogram Date: Sun, 7 Apr 2024 15:46:14 +0200 Subject: [PATCH] docs: explain that modules can be developed using TinyGo, Rust, or Zig Signed-off-by: deadprogram --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index afd31cc..0236032 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,13 @@ Mechanoid is a framework for WebAssembly applications on embedded systems and Io Mechanoid is an open source framework for building and running WebAssembly applications on small embedded systems and tiny IoT devices. It is intended to make it easier to create applications that are secure and extendable, and take advantage of all of the latest developments in both WebAssembly and embedded development. -Mechanoid includes a command line interface tool that helps you create, test, and run applications on either simulators or actual hardware, in part thanks to being written using [Go](https://go.dev/) and [TinyGo](https://tinygo.org/). +Mechanoid includes a command line interface tool that helps you create, test, and run applications on either simulators or actual hardware. -## Why would you want to do this? +You can write WASM modules for Mechanoid using any language that can compile to WebAssembly, including [TinyGo](https://tinygo.org/), [Rust](https://www.rust-lang.org/), and [Zig](https://ziglang.org/). + +Mechanoid itself is written using [Go](https://go.dev/) and [TinyGo](https://tinygo.org/). + +## Why run WebAssembly on embedded device? - Devices that are extensible. Think app stores, downloadable add-ons, or end-user programmability. - Environment is sandboxed, so bricking the device is less likely. @@ -74,8 +78,6 @@ mecha new module -template=ping ping This is the Go code for the `ping.wasm` module. It exports a `ping` function, that calls a function `pong` that has been imported from the host application. ```go -//go:build tinygo - package main //go:wasmimport hosted pong