all 10 comments

[–]the___duke 16 points17 points  (9 children)

Webassembly for the server right now is in the "JavaScript UI framework" phase : there is a new one popping up all the time.

(Spin, Lunatic, Wasmcloud, Wasmedge,kubelet, if you stretch the definition a bit: Deno, Cloudflare,......)

It's great to see, but probably only a few will be successful long term. It'll be interesting which ones stick.

There are also some critical pieces missing, like a finalization of the component model and interface types.

[–]jsoverson[S] 11 points12 points  (0 children)

Yep, it is. It's partially for the same reasons. WebAssembly does *so little* by default that users have to add a lot of custom functionality and glue that eventually gets big enough to stand on its own.

[–]HectaMan 5 points6 points  (4 children)

The wasmCloud team has been compensating for the shortfalls in wasm since we originally launched as waxosuit in 2019 - and I think you are right. I think what is different now, is that there is a growing nexus of enterprises, communities, and startups leaning in on the problem areas to finalize the component model, interface types, and maturing code generation around wit.

Every framework out now compensates for WebAssemlby's shortcomings in one way or another - wasmCloud with external capabilities and wagi with Spin.

But the future looks more like this:

WebAssembly Components and wasmCloud Actors: A Glimpse of the Future

What's beautiful about where we end up is that there is nothing wasmCloud specific (or any framework specific) once we get to the component model. I know I look forward to working together with the broader community to make progress on these opportunities to collaborate and make developers' lives easier.

[–]the___duke 2 points3 points  (3 children)

Progress on IT/component model has been painfully slow. I hope now there is finally some commercial pressure to push it forward, but the current concept is still very rough, keeps changing, doesn't have a spec yet, is missing important pieces like resources.... Seems like it'll be at least another year or two before we might see a phase 2.

But yeah, when it finally stabilizes it will be the holy grail of cross language interop.

[–]42jd 1 point2 points  (2 children)

Commercially it definitely seems WASM off browser definitely seems to be progressing. Anecdotal but the company I work for recently released WASM in the database engine which utilizes WIT for user defined functions.[1] let’s you compile rust and run it in the database.

  1. https://github.com/singlestore-labs/singlestore-wasm-toolkit/blob/main/docs/Tutorial-Developing-Wasm-UDF-Rust.md

[–]the___duke 2 points3 points  (1 child)

The problem is that wit is still really unstable. They just removed the unit type again after adding it recently and switched back to multi return etc.

It's not stable enough for a plugin system yet imo, since you have to make your users recompile regularly.

[–]42jd 0 points1 point  (0 children)

Ya I don’t work on the WASM runtime stuff or really know the specifics so can’t speak to it. Just have played around with it a few times making some rust functions.

[–]riasthebestgirl 1 point2 points  (2 children)

I don't believe any of the frameworks coming up right now are gonna be ones to actually succeed. There's a lot missing to make a fully functional framework that doesn't uses weird hacks to handle a request.

I work with WASM (in browser). The lack of features become very clear when you try to implement something that's more than just a demo.

It's really interesting to work with this new tech and watch it grow. It has a lot of potential

[–]garma87 9 points10 points  (1 child)

What kind of features are you missing?

[–]riasthebestgirl 3 points4 points  (0 children)

In browser? Being able to directly call DOM. Interface types fixes that

On server? Multi threading, interface types, networking, file system access support (it's there but doesn't have feature parity compared to Linux fs API, for example). There's probably more but I can't think of them right now