4 ms·
except that WASM has a huge classloader / linker problem: It's still very hard to combine two wasm files into one and get the memory merger right. Maybe compone
by singularity2001 2y ago
except that WASM has a huge classloader / linker problem: It's still very hard to combine two wasm files into one and get the memory merger right. Maybe component model can fix it but it comes with so much bloated nonsense that an adaption in Safari might take forever.
- iainmerrick 2y agoIt's a problem for some use cases, but is it really a "huge" problem in general? You can't easily publish a library in WASM and link it into another application later. But you can publish it as C++ source (say) and compile it into a C++ application, and build the whole thing as WASM. What are the scenarios where you really really want libraries in WASM format?
- flohofwoe 2y agoThe only situation I can think of is a plugin system for native applications, where 'WASM DLLs' would solve a lot of issues compared to native DLLs. But those WASM plugins would be self-contained and wouldn't need to dynamically load other WASM 'DLLs', so that situation is trivial even without the WASM Component Model thingie (which I also think is massively overengineered and kinda pointless - at least from my PoV, maybe other people have different requirements though).
- nilslice 2y agothis is exactly what we created Extism[0] and XTP[1] for! [0]: https://extism.org https://extism.org [1]: https://getxtp.com https://getxtp.com XTP is the first (afaik) platform of its kind meant to enable an app to open up parts of its codebase for authorized outside developers to “push” wasm plugin code extensions directly into the app dynamically. We created a full testing and simulation suite so the embedding app can ensure the wasm plugin code does what it’s supposed to do before the app loads it. I believe this is an approach to integration/customization that exceeds the capabilities of Webhooks and HTTP APIs.
- fwsgonzo 2y agoI have to say that yes, it's a PITA. Ever tried to enable exceptions in one part, and disabled in the other? It simply won't load. Or any other option. Really. So many investigations, so much time wasted.
- bhelx 2y agoI agree that it's a problem and I definitely agree with the concern about component model. But maybe Wasm doesn't need 1-1 replacement of all capabilities in the native world. At least not right now. As someone who mostly uses it for plug-in systems, this hasn't been a big issue for us.