Stream: general

Topic: iOS & Android


view this post on Zulip logical (Feb 07 2022 at 20:50):

Hi, I was under the impression that the whole point of WASI was to make a single codebase run on all OSes. It seems like Wasmtime mostly targets server OSes like Linux and Windows? Is this the focus for now? Is iOS not going to be a target for the Wasmtime runtime until/unless Apple joins the Bytecode Alliance? Or, is Wasmtime only going to be a runtime for any OS only after the WASI standard is official?

view this post on Zulip Dan Gohman (Feb 07 2022 at 20:55):

WASI for its part intends to support iOS. I'm not current on the details, but my understanding is that the issue with Wasmtime on iOS is more about Wasmtime using a JIT than anything related to WASI.

view this post on Zulip logical (Feb 07 2022 at 21:33):

Dan Gohman said:

WASI for its part intends to support iOS. I'm not current on the details, but my understanding is that the issue with Wasmtime on iOS is more about Wasmtime using a JIT than anything related to WASI.

Ah, okay, thanks for the response. I found these links about the "Hardened Runtime capability" of iOS. I'm not sure how this relates to Wasmtime exactly, but I thought it would be interesting to post it anyway:
https://developer.apple.com/documentation/apple-silicon/porting-just-in-time-compilers-to-apple-silicon
https://developer.apple.com/documentation/security/hardened_runtime

view this post on Zulip Till Schneidereit (Feb 07 2022 at 21:43):

we could also provide a runtime-only build for iOS, that can only run precompiled files created using wasmtime compile. All of that would require adding an iOS build config to our CI though, which so far nobody's been pushing for

view this post on Zulip logical (Feb 07 2022 at 22:00):

Till Schneidereit said:

we could also provide a runtime-only build for iOS, that can only run precompiled files created using wasmtime compile. All of that would require adding an iOS build config to our CI though, which so far nobody's been pushing for

I'm asking mostly because of my interest in Lunatic (link: lunatic.solutions) which uses Wasmtime as its runtime. It's for "server-side" applications, but I want to use the same App for server-side and client-side. "Server-side" would be a node that's always online (never logs out). I would guess that in many App use cases, a JIT would not be a requirement as the App would be precompiled? Also, saying that Wasmtime runs everywhere would be good marketing ;) I know Wasmer claims to compile to iOS... Maybe they use some sort of hack or run their own JIT library.

Lunatic is an open-source WebAssembly runtime and platform for running server-side applications

Last updated: Nov 22 2024 at 17:03 UTC