Hacker News new | ask | show | jobs
by MuffinFlavored 1379 days ago
> because lunatic uses WebAssembly on the backend

Isn't one of the main purposes of WebAssembly how it's like... portable/easy to run in different places? If you are in the backend, why not run a backend language like Rust in the first place + not introduce WebAssembly?

2 comments

There are many other properties that WebAssembly gives us that would be hard (impossible?) to achieve with native Rust. Erlang-like fault tolerance based on a concurrency model where each unit gets their own heap. Fine-grained per request sandboxing. Green thread based async model. Hot reloading, ...
The sentence you extracted that quote from provides one answer to your question: it means they can take part of the backend code and actually execute it in the browser. Like edge functions, but even more so.

Here's the full context of the snippet you're questioning:

> One of the drawbacks of LiveView is that it requires a permanent connection to the backend, but because lunatic uses WebAssembly on the backend we can actually move part of the backend into the browser to allow for low-latency and offline use cases. Hopefully, you will be able to "just write" rust backend apps, but automatically get rich user experiences with offline support.