proxy-wasm / spec

WebAssembly for Proxies (ABI specification)
Apache License 2.0
544 stars 28 forks source link

How to start a proxy-wasm-XXLang-sdk from scratch? #37

Open liweijian opened 1 year ago

liweijian commented 1 year ago

The combination of envy and wasm seems awesome, I'd like to help adding another programming language for it.

There're rust and c++ sdk here already, just wondering how to take the first step for that? Like, any docs or tutorial that I need to read first or something?

PiotrSikora commented 1 year ago

There is more, actually: AssemblyScript, C++, Rust, Go (TinyGo), Zig (see: the list of Proxy-Wasm SDKs).

One approach is to start from scratch and try to implement a single feature (e.g. add HTTP request headers). Once you have that working, keep adding features until you reach the complete set.

Another approach is to try to reimplement one of the existing SDKs in another language (AFAIK, AssemblyScript SDK started as reimplementation of C++ SDK, and Go SDK started as reimplementation of Rust SDK, but it evolved a lot since then).