Xuanwo opened a new issue, #3803: URL: https://github.com/apache/incubator-opendal/issues/3803
> WebAssembly (WASM) is a modern binary instruction format for a stack-based virtual machine. It is designed as a portable compilation target for high-level languages like C/C++ and Rust, enabling deployment on the web for client and server applications. WASM aims to enable near-native performance for web applications, providing a more efficient and secure alternative to traditional JavaScript. Its key features include fast loading times, efficient execution, and the ability to run alongside JavaScript, allowing developers to build complex client-side web applications that perform better than those written solely in JavaScript. By adding WASM support for opendal, we will allow users to use `opendal` in targets like `wasm32-unknown-unknown` and `wasm32-wasi`. In a short word, users can use `opendal` in web browser! We have addressed most blockers by https://github.com/apache/incubator-opendal/pull/3796 and adding a basic test for s3 https://github.com/apache/incubator-opendal/pull/3802. It's time for us to move forward. This tracking issue is used to track our current progress of wasm support. Welcome to join in us! ## Tasks ### Add OPFS support After opendal is ready for WASM, we can start to work for opfs now! - [ ] https://github.com/apache/incubator-opendal/issues/2442 ### Add support for more services Please run the following command to check if opendal can build under `wasm32` arch: ```rust cargo build --target wasm32-unknown-unknown --no-default-features --features=services-s3 ``` Visit https://github.com/apache/incubator-opendal/pull/3796 for possible fix or ask directly in this issue. It's possible that some services can't support wasm at all, like `fs`. Please also provide your feedback here. We will collect them into a seperate doc. - [ ] alluxio - [ ] atomicserver - [ ] azblob - [ ] azdls - [ ] azfile - [ ] b2 - [ ] cacache - [ ] cloudflare_kv - [ ] cos - [ ] d1 - [ ] dashmap - [ ] dbfs - [ ] dropbox - [ ] etcd - [ ] foundationdb - ~~[x] fs (can't support)~~ - [ ] ftp - [ ] gcs - [ ] gdrive - [ ] ghac - [ ] gridfs - [ ] hdfs - [ ] http - [ ] huggingface - [ ] ipfs - [ ] ipmfs - [ ] libsql - [ ] memcached - [ ] memory - [ ] mini_moka - [ ] moka - [ ] mongodb - [ ] mysql - [ ] obs - [ ] onedrive - [ ] oss - [ ] persy - [ ] postgresql - [ ] redb - [ ] redis - [ ] rocksdb - [ ] s3 - [ ] seafile - [ ] sftp - [ ] sled - [ ] sqlite - [ ] supabase - [ ] swift - [ ] tikv - [ ] upyun - [ ] vercel_artifacts - [ ] webdav - [ ] webhdfs -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
