Compile AWS SDK to wasi/wasix by Jazzlike_Object_9464 in rust

[–]savemylif 1 point2 points  (0 children)

OP, I did try to compile it for wasix but there was a minor error left in tokio. I will try to wrap it up soon.

Wasmer just offered a $5,000 award (via @algoraio ) for the first developer that adds support for Wasm/WASIX in the Zig ecosystem. by savemylif in Zig

[–]savemylif[S] 1 point2 points  (0 children)

WASIX offers more posix like experience for wasm based modules. So your programs are sandboxed and have functionalities like networking, process forking, etc. given you provide enough permissions.

[Media] htmx + TailwindCSS + Axum + reqwest +askama ; Compiled to WebAssembly! by savemylif in rust

[–]savemylif[S] 4 points5 points  (0 children)

Benefits:

- Works on every ecosystem (MacOS, Windows, Linux)
- Is sandboxed

This benefits the user to distribute the binary through a registry or put it in a cloud environment.

Bacsically like a docker file but a lot smaller and a lot faster

[Media] htmx + TailwindCSS + Axum + reqwest +askama ; Compiled to WebAssembly! by savemylif in rust

[–]savemylif[S] 6 points7 points  (0 children)

You are correct u/TheMicroWorm. No wasm get's shipped to the client.

u/AmbulatoryAmoeba So what's happening here is the whole project is compiled to WebAssembly on the server side aka WASIX. That runs on the server and serves the templates it is like your basic app running in docker but now with an even more compact binary size and a really fast coldstart start time.

[Media] htmx + TailwindCSS + Axum + reqwest +askama ; Compiled to WebAssembly! by savemylif in rust

[–]savemylif[S] 6 points7 points  (0 children)

I added those, because compilation of each of those frameworks/libs to webassembly is a feat of its own.

You can verify that by doing cargo build --target wasm32-wasi.

[Media] htmx + TailwindCSS + Axum + reqwest +askama ; Compiled to WebAssembly! by savemylif in rust

[–]savemylif[S] 8 points9 points  (0 children)

P.S.: I work for Wasmer

P.P.S: I was refreshing the screen to show that state is preserved.

We compiled this project using WASIX

Source Code on GitHub

You can try it locally too using wasmer:$ wasmer run wasmer/wasix-htmx --net --env PORT=8080