7 ms·
Wasmer – Run, Publish and Deploy any code, anywhere
- mitchbob 3y agoPrevious discussions: Wasmer 1.0 https://news.ycombinator.com/item?id=25649476 https://news.ycombinator.com/item?id=25649476 (161 comments) Wasmer 2.0 https://news.ycombinator.com/item?id=27537541 https://news.ycombinator.com/item?id=27537541 (56 comments) Wasmer 3.0 https://news.ycombinator.com/item?id=33721685 https://news.ycombinator.com/item?id=33721685 (183 comments)
- houseatrielah 3y agoWasmer 3.0 https://news.ycombinator.com/item?id=33721685 https://news.ycombinator.com/item?id=33721685
- mitchbob 3y agoThanks! Fixed.
- fragmede 3y agoI'm probably holding it wrong, but the website has a dropdown for CLI, but CLI is the only option in that dropdown, which is at odds with "Run... anywhere" in the headline.
- CharlesW 3y agoThat widget is wonky for me too, but if you go to the runtime page (https://wasmer.io/products/runtime https://wasmer.io/products/runtime) you'll see SDKs for Rust, Python, JavaScript, Go, Ruby, and C.
- syrusakbary 3y agoYou are completely right... we need to improve that! We are planning to add more languages there once the SDKs are fully ready... stay tuned :)
- debarshri 3y agoIt feels very close to docker equivalent for WASM binaries which is very cool. I think this might be the breakthrough required to make wasm server-side very mainstream. I think there is still complexity and standardization issues on compilation side. When that is solved then server-side wasm would be ready for democratization I think.
- skybrian 3y agoThe technology is interesting, but I've never bothered to install it. It seems like this ecosystem is missing compelling reasons to use it, sort of like a device or app store that's missing interesting apps. The demo they put on the front page doesn't really sell it. I already have Python installed. It's need that they got it running, but how is this better? What would sell it? Suppose there were a well-regarded hosting site that required uploads to be WebAssembly. Or maybe some popular app that required plugins to be written in WebAssembly.
- hbcondo714 3y agoThere is a package that "contains a WordPress website that can be run as a WCGI program by Wasmer"[1]. But there is now WordPress Playground: A WordPress that runs entirely in the browser[2]. I wonder if Wasmer will continue to develop their own WordPress browser implementation? [1] https://wasmer.io/wasmer/wcgi-wordpress-demo https://wasmer.io/wasmer/wcgi-wordpress-demo [2] https://news.ycombinator.com/item?id=36726593 https://news.ycombinator.com/item?id=36726593
- tyingq 3y ago>I wonder if Wasmer will continue to develop their own WordPress browser implementation? I think it's probably meant more as a demonstration of "run, publish and deploy any code, anywhere" rather than as a serious use case suggestion. It's taking something people are familiar with, know to be a bit messy and complicated and running it in a browser.
- ghayes 3y agoMaybe a good place to ask this question: I recently wanted to share lib code between three separate codebases (JavaScript, Swift and Kotlin). I considered writing it in a wasm-compatible language and sharing it as a wasn module. Curious if wasmer may cover these use-cases, since a) it’s cool to share code, but b) building high-quality native wrappers is hard (e.g. to wrap complex data types when different languages may have preferred styles).
- idorosen 3y agoAll three languages have C FFI support of some kind. You could write it in C or C++ with some generated (or manual) wrappers/shims.
- jillesvangurp 3y agoYour best bet for this right now would be kotlin multiplatform, which can target IOS native, browsers, and of course android. It also has an experimental wasm compiler but it's not ready for production usage. But you could actually target wasm with it. Embedding WASM on IOS might be problematic because of Apple's rules regarding what is and isn't acceptable there. They've never liked people embedding interpreters in their apps. That's how they blocked flash as well. And that's how they continue to block the firefox and chrome browser engines.
- jamil7 3y agoRust and UniFFI would cover the native side, although async/futures support is immature currently. You could then also potentially compile to wasm but I haven’t tried that.
- janpio 3y agoHow does this compare to Fermyon’s Spin [1] and Cloud [2]? 1: https://www.fermyon.com/spin https://www.fermyon.com/spin 2: https://www.fermyon.com/cloud https://www.fermyon.com/cloud
- 0x073 3y ago"Get started" links to discord? This get more and more common, but no thanks.
- ImHereToVote 3y agoCan some into discord explain why it's good for documentation? It seems like a dumpster fire to me.
- syrusakbary 3y agoThat's a bug. The proper link should be pointing to the Wasmer runtime docs. Thanks for pointing this out!
- kitd 3y agoFrom the Go runtime docs here https://pkg.go.dev/github.com/wasmerio/wasmer-go/wasmer https://pkg.go.dev/github.com/wasmerio/wasmer-go/wasmer > By extension, a headless engine can only execute a WebAssembly module, i.e. a module that has previously been compiled, or compiled, serialized and deserialized. This offers the potential of using WASM w/ go (or any other language I expect) to create the equivalent of Erlang's "Universal Server". Ie. create an API that receives the code necessary to "become" another API.
- Kolja 3y agoI have no personal experience with Wasmer or the people behind it. But with the things I read about them (e. g. https://mnt.io/2021/10/04/i-leave-wasmer/ https://mnt.io/2021/10/04/i-leave-wasmer/ crossed my path again a few days ago) would make me, to put it lightly, hesitate before building on it.
- rurban 3y agoThis CEO in question also appeared yesterday here and was blocked from ziglang. https://news.ycombinator.com/item?id=37541994 https://news.ycombinator.com/item?id=37541994
- syrusakbary 3y agoThanks for providing the link, readers can probably judge for themselves by checking the comments there if blocking someone just for having a different point of view was the right thing to do by the Zig leadership team Context: https://news.ycombinator.com/item?id=37545192 https://news.ycombinator.com/item?id=37545192
- yoshuaw 3y ago> […] just for having a different point of view was the right thing to do by the Zig leadership team From reading these threads it’s less about the opinions you hold and more about how you behaved, no? Zig leadership asked you to not place bug bounties on issues without their consent. You decided to ignore their request and kept the bounty up by moving it to your own repo. Zig leadership decided you weren’t engaging in a particularly constructive way and decided you were unwelcome.
- syrusakbary 3y agoIs not a bug bounty and the bounty was placed for a feature we needed at Wasmer, it was not required to be merged upstream in Zig so of course we kept the sponsorship for the work up
- quic5 3y agoI attempted to delete my Wasmer account a week ago. The button just prompted me to send an email, so I did that, but didn't get response since. Any idea how to enforce GDPR here?
- kevsim 3y agoThe typical way would be to report it to the data protection authority in the European country in which you reside. Then they'll decide whether to take any action.
- syrusakbary 3y agoNot sure how that slipped through the cracks, but I will handle it directly to make sure the account deletion is properly handled asap. If you can send me an email to syrus@wasmer.io with your Wasmer username that would be appreciated
- jmorgan 3y agoCould anyone speak to the core differences between Web Assembly (Wasm) and WebAssembly System Interface (WASI)? I noticed Go 1.21 supports WASI as a target, and given how new that is, I haven't seen many example projects that use it yet. Hoping it could make deploying to places like Cloudflare workers more feasible for Go projects now.
- WhiteNoiz3 3y agoOut of the box WASM programs cannot interact with anything outside of the WebAssembly sandbox. It can only call functions that the host (whatever is running your WASM) has declared.. WASI is a standard set of functions that you can call from your WASM program so that you can interact with the host machine's file system, network and other things. It is modelled after POSIX. It provides some standardization for WASM programs for doing these types of things and guarantees some basic level of support. Otherwise, each host WASM program could implement them differently and WASM programs wouldn't really be portable.
- jmorgan 3y agoThanks! This is really helpful.
- templix 3y agoWasmer rubs me the wrong way for some reason Staying clear
- Alifatisk 3y agoCool, so Wasmer could in theory allow me to run functions from Rust in Ruby via a wasm module?
- CyberDildonics 3y agoCan't you already do that by writing a shared library?
- Alifatisk 3y agoThrough FFI? Yeah.
- meepmorp 3y agoThe calls to WASM would also be through FFI, right? Because it's not part of the actual ruby runtime.
- Alifatisk 3y agoLooks like it's done through shared library https://github.com/wasmerio/wasmer-ruby/blob/master/lib/wasmer.rb https://github.com/wasmerio/wasmer-ruby/blob/master/lib/wasm...