Remix.run Logo
hardwaresofton 3 days ago

Congratulations on the progress and getting the engine out there!

One nice thing about interpreters versus JIT compilers is that they can be used in places like iOS without too much fuss (AFAIK you have to bundle all the WASM you will run though, or something like that).

I'm biased since I work on it, but any considerations around adding support for the Component Model? It's more complex than the base spec of course but incredibly robust -- really the present/future of "modern" WebAssembly across languages.

tadfisher 2 days ago | parent | next [-]

You can download the WASM, it just can't materially change the purpose or scope of your app.

hardwaresofton a day ago | parent [-]

Thanks! Do you have a source for this? Would appreciate a pointer if you have one.

IIRC there is also a limitation on making platform-like super-apps on iOS and it feels like that might be a natural occurrence depending on just how much dynamic functionality you pull in via Wasm (i.e. how powerful your app is).

tadfisher 12 hours ago | parent [-]

Apple Developer Program License Agreement § 3.3.1.B, "Executable Code" [1]:

> Except as set forth in the next paragraph, an Application may not download or install executable code. Interpreted code may be downloaded to an Application but only so long as such code: (a) does not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application (b) does not bypass signing, sandbox, or other security features of the OS; and (c) for Applications distributed on the App Store, does not create a store or storefront for other Applications.

App Review Guidelines § 2.5.2, "Software Requirements" [2]:

> Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code which introduces or changes features or functionality of the app, including other apps. Educational apps designed to teach, develop, or allow students to test executable code may, in limited circumstances, download code provided that such code is not used for other purposes. Such apps must make the source code provided by the app completely viewable and editable by the user.

1: https://developer.apple.com/support/terms/apple-developer-pr...

2: https://developer.apple.com/app-store/review/guidelines/#sof...

euroderf 3 days ago | parent | prev [-]

+1 on Component Model. AFAICT it's not planned for wasip3.

hardwaresofton 3 days ago | parent [-]

Just to point out, even a P2 implementation is still very useful! P3 is necessarily more complex than P2, but P2 also contains very useful features that are worth implementing. Most language toolchains are centered around p2 today and that will take a while to change.

Also, there is an adapter for automatically taking p1 components to p2, and a p2 to p3 adapter may exist in time, if desire is great enough! IIRC it doesn't exist right now.