Stream: general

Topic: `leptos_wasi`: Full-stack Web development powered by WASI!


view this post on Zulip raskyld (Nov 28 2024 at 20:13):

Hey :wave:

I don't know if there is a "show-off" channel but I wanted to share something I have been working on since a few months now: https://crates.io/crates/leptos_wasi

Basically, I made the leptos framework capable of targeting wasm32-wasip2 for its server-side.
The result is a component that you can directly run using wasmtime serve :)

@Bailey Hayes @Brooks Townsend and @Liam Randall were kind enough to invite me to present my work in a wasmCloud community call: YouTube - - YouTube (pardon my terrible french accent that went wild for some reasons :baguette: )!

That's really recent so it's not production ready and we are actually writing up a blog post with @Brooks Townsend to present the implementation in more details (custom async executor, HTTP response streaming, abstraction of wasi bindings with http bytes and futures), here is a template demo crate if anyone wanna play with it: https://github.com/leptos-rs/start-wasi

Just to wrap up, I want to thanks all wasmCloud folks, @benwis from leptos side, he really made that possible! Also folks at Spin who started experimenting with leptos x spin runtime (thanks @Joel Dice for links to the async executor of Spin), that really inspired me and actually, Spin is integrating leptos_wasi right now! Glad to see WebAssembly has such a virtuous community :D

A starter template for a WASI SSR server with Leptos - leptos-rs/start-wasi
Its getting close to release and we'll need to update this

view this post on Zulip benwis (Nov 29 2024 at 20:46):

raskyld said:

Hey :wave:

I don't know if there is a "show-off" channel but I wanted to share something I have been working on since a few months now: https://crates.io/crates/leptos_wasi

Basically, I made the leptos framework capable of targeting wasm32-wasip2 for its server-side.
The result is a component that you can directly run using wasmtime serve :)

Bailey Hayes Brooks Townsend and Liam Randall were kind enough to invite me to present my work in a wasmCloud community call: https://www.youtube.com/watch?v=SAAyukYJGeY&t=139s (pardon my terrible french accent that went wild for some reasons :baguette: )!

That's really recent so it's not production ready and we are actually writing up a blog post with Brooks Townsend to present the implementation in more details (custom async executor, HTTP response streaming, abstraction of wasi bindings with http bytes and futures), here is a template demo crate if anyone wanna play with it: https://github.com/leptos-rs/start-wasi

Just to wrap up, I want to thanks all wasmCloud folks, benwis from leptos side, he really made that possible! Also folks at Spin who started experimenting with leptos x spin runtime (thanks Joel Dice for links to the async executor of Spin), that really inspired me and actually, Spin is integrating leptos_wasi right now! Glad to see WebAssembly has such a virtuous community :D

Thanks again for doing the work, it's a nice integration and I'm excited to see what people build with it

view this post on Zulip raskyld (Dec 11 2024 at 17:58):

We also co-authored with @Brooks Townsend a blog post to present the implementation a bit: https://wasmcloud.com/blog/2024-12-10-leptos-and-wasi-0.2-for-full-stack-wasm-development

wasmCloud contributor and Leptos WASI author Enzo Nocera shares how Rust's Leptos web framework implemented WASI 0.2 support.

Last updated: Dec 23 2024 at 13:07 UTC