Skip to content
This repository has been archived by the owner on Aug 5, 2021. It is now read-only.

How this will be implemented? #2

Closed
JairusSW opened this issue Apr 26, 2021 · 2 comments
Closed

How this will be implemented? #2

JairusSW opened this issue Apr 26, 2021 · 2 comments

Comments

@JairusSW
Copy link

JairusSW commented Apr 26, 2021

Hey, @dcodeIO !
I was wondering how this would be implemented. I'm interested in contributing, but I was wondering if we would use WASI or bindings of some kind... I was thinking like the api part on the AS-side and different backends for Node, Browser, and Wasmer, ect..

I'm not sure which approach we would take, but I'm wondering what your idea is!

@dcodeIO
Copy link
Member

dcodeIO commented Apr 26, 2021

The idea is about not having to choose between Web and WASI APIs, but to have a common mechanism that works both on and off the Web without having to feature-check / recompile / polyfill / worry, i.e. so modules become portable across ecosystems and do not need to be fixed to either Web or WASI upon compilation. However, investing time into it would only be worthwhile if the CG considered this a valuable addition, which doesn't look like it.

@JairusSW
Copy link
Author

JairusSW commented Apr 26, 2021

@dcodeIO , great! Are you looking at implementing this at the WebAssembly core? I was thinking of instead implementing it via bindings. I'm still thinking about adding a few JavaScript APIs like fetch and Crypto in AssemblyScript plus timing and the like.
I'm thinking that if I create bindings that are isomorphic, it could work in the web and NodeJS exactly the same so we wouldn't need polyfills. Like you said, this wouldn't be portable across other runtimes so I'm just going to make a private implementation of some of these things for private usage. However, getting support natively on WebAssembly would be amazing! 😀

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants