Live data from Hacker News

Making WebAssembly a first-class language on the Web

hacks.mozilla.org

211–220 of 287 posts

Re: Making WebAssembly a first-class language on the Web

#212

This article perfectly captures the frustration of the "WebAssembly wall." Writing and maintaining the JS glue code—or relying on opaque generation tools—feels like a massive step backward when you just want to ship a performant module. The 45% overhead reduction in the Dodrio experiment by skipping the JS glue is massive. But I'm curious about the memory management implications of the WebAssembly Component Model whe…

webassembly components use a borrow checking model[1], so I assume that would be used to manage DOM components? I'm not exactly sure how this works when binding it to GC languages. [1] https://component-model.bytecodealliance.org/design/wit.html...

This is my main confusion, too! I have an existing Wasm GC language implementation and I'm not sure how to reconcile it with the component model.

Re: Making WebAssembly a first-class language on the Web

#213
post #204

Earlier quoted context omitted.

Very reductive :) there are flavors and hints of all these previous technologies /paradigms in WebAssembly + Component Model today, because only fools would attempt to build something without considering relevant prior art. Won't bother trying going through differences/how-this-is-not-that but I'll say this: This time, it's slightly better, just like every time before. I'd even go so far as to say this iteration is m…

So far I haven't seen that on the existing tooling, nothing that would make me say it is much better, rather it looks much worse given the developer experience. Zero IDE integration, no right mouse click to generate or consume interfaces/stubs, no debugging tools, no integration with existing toolchains like those alternatives, no wire debugging,.... It feels designed for those that never left the command line, vim a…

I think we probably disagree on the most important parts of the tooling. I’m a lot more focused on what it lets me do/whether the abstractions are right.

That said, people have worked on IDE integration (it’s not zero, ex. WIT syntax highlighting), there is existing integration with upstream language tool chains, but trying to debate that seems silly. Whether tech is good or worth exploring is not dictated by IDE support, I think!

There has been substantial work on improving debugging, DX and documentation! Hopefully in the LLM age the existing can move even faster

Re: Making WebAssembly a first-class language on the Web

#214

Earlier quoted context omitted.

I have to wonder if Apple will allow any of this to move forward in the W3C standards committee since they've been blocking many things that would make web browsers as capable as native apps. Apple perceives web-based applications as chipping away at their app store (which makes them money), and so they cripple their Safari browser and then force all mobile browsers on iOS to use their browser engine, no exceptions,…

I for one am thankful to them for it. I think we need a return to the real native. The JS/Web-slop has gone too far.

I personally hate that I need to download app from every company for every service they offer. On the other hand I love tje simplicity of opening webpage, do what I want to do there and forget it. Probably 80% of app in my phone are used very rarely, often just once yet they still sit there, getting updates, requesting permissions and sometimes eating battery... good web app can do everything native app can.

Re: Making WebAssembly a first-class language on the Web

#215
post #204

Earlier quoted context omitted.

Very reductive :) there are flavors and hints of all these previous technologies /paradigms in WebAssembly + Component Model today, because only fools would attempt to build something without considering relevant prior art. Won't bother trying going through differences/how-this-is-not-that but I'll say this: This time, it's slightly better, just like every time before. I'd even go so far as to say this iteration is m…

So far I haven't seen that on the existing tooling, nothing that would make me say it is much better, rather it looks much worse given the developer experience. Zero IDE integration, no right mouse click to generate or consume interfaces/stubs, no debugging tools, no integration with existing toolchains like those alternatives, no wire debugging,.... It feels designed for those that never left the command line, vim a…

Why would "right mouse click" be part of a protocol?

Re: Making WebAssembly a first-class language on the Web

#216
Not only are they a decade late while everyone expected WASM to liberate us from JS, and it ended up being a useless toy in JS whose improvements would have been crushed by having to send all progress to JS to apply it, but then giving it access to DOM is also something you'll realize wasn't enough a decade later. Flutter doesn't need DOM; it has all of its own engine. The browser should give the whole viewpoint to the WASM so that apps can directly implement their own GUIs. And then there will be an app revolution. You can directly port your GUI to the web and have it work. No more your GUI as a WASM worker that has to have its frames painted by JS on a canvas; direct painting. You could have wxWidgets, GTK, Flutter, ... all working insanely fast, insanely beautiful. And then people can do amazing things. Imagine a web alternative that is powered by maestro Knuth's TeX; imagine operating systems as web pages, imagine alternative layout systems that do not have to rely on Web events and frame timing. That is all if the browser allows for WASM to bypass the web part and do it itself.

Re: Making WebAssembly a first-class language on the Web

#217
post #82

This is a great step, if only because it enforces more convention for the "right" way to do things by providing a simpler mechanism for this. WRT WebAssembly Components though, I do wish they'd have gone with a different name, as its definition becomes cloudy when Web Components exist, which have a very different purpose. Group naming for open source is unfortunately, very hard. Everyone has different usages of words…

What's there is already dead simple. The JS side and the WebAssembly module instance share a memory image and tables of imported and exported functions and variables. Everything else is left as an exercise to the programmer. It's hard to imagine a simpler, more conceptually straight-forward approach to it. An interface description language and component model at best makes some use cases more accessible at the expense of simplicity.

Not that I necessarily think it's unwarranted. While I appreciate the simplicity of the current approach to interop because it gives you free reign and is easy to grasp, I think anyone who has spent some time rawdogging JS-WebAssembly integration has considered inventing their own WASM IDL analog. If that can be specified as part of the standard it can also be made quicker.

Re: Making WebAssembly a first-class language on the Web

#218
post #216

Not only are they a decade late while everyone expected WASM to liberate us from JS, and it ended up being a useless toy in JS whose improvements would have been crushed by having to send all progress to JS to apply it, but then giving it access to DOM is also something you'll realize wasn't enough a decade later. Flutter doesn't need DOM; it has all of its own engine. The browser should give the whole viewpoint to t…

And it would be 100% inaccessible.

Re: Making WebAssembly a first-class language on the Web

#219
post #215
post #204

Earlier quoted context omitted.

So far I haven't seen that on the existing tooling, nothing that would make me say it is much better, rather it looks much worse given the developer experience. Zero IDE integration, no right mouse click to generate or consume interfaces/stubs, no debugging tools, no integration with existing toolchains like those alternatives, no wire debugging,.... It feels designed for those that never left the command line, vim a…

Why would "right mouse click" be part of a protocol?

Tooling, for adoption.
Post reply on HN