deviceplug / btleplug

Rust Cross-Platform Host-Side Bluetooth LE Access Library
Other
827 stars 151 forks source link

Add WASM/WebBluetooth Support #13

Open qdot opened 4 years ago

qdot commented 4 years ago

Not particularly sure how it'll be useful, but its the future, so why not.

Pretty much all of the API redesigns will need to happen before this I'm guessing, as we'll need to figure out how futures will convert and what not. Lots to think about.

qdot commented 4 years ago

This will basically be a wrapper around wasm_bindings WebSys, which still needs a gecko style WebIDL impl for WebBluetooth written for it.

Guess who's probably doing that. :|

qdot commented 4 years ago

WebBluetooth IDL support has landed into web-sys, and a WASM implementation is available at https://github.com/buttplugio/buttplug-rs-ffi in the WASM module. This could probably be ported over here at any time (though some web-sys IDL generation fixes are still needed)

qdot commented 4 years ago

BTW, if someone sees this and wants to try to do it, you will most likely want to talk to me first. Getting the lifetimes right for the WASM/JS execution model is tricky.

arlyxiao commented 1 year ago

How's this going? Is this still in progress?

SyedKaz00 commented 1 year ago

^^ Any Progress?

ActuallyHappening commented 1 year ago

Having WASM support would be awesome!

Since it is not currently supported, I have resorted to using this crate and the web-sys using an even more abstracted API