<!-- .slide: data-background="https://markdown.flak.is/uploads/upload_e7ab490e6489473a8b511ffb738a9cec.png" data-background-color="#fff" data-background-size="60vh" --> # WebAssembly Extensibility<br />with JavaScript — and Rust! --- ![It me!](https://flak.is/s/flaki.png =128x128) Hi, I'm Flaki! <small>(the short for "Istvan Szmozsanszky")</small> [@flakoot@toot.cafe](https://toot.cafe/@flakoot/) | [@slsoftworks](https://twitter.com/slsoftworks) <a href="https://suborbital.dev/"><img src="https://ucarecdn.com/f429371c-399f-43dc-90fa-0a047a8da2f3/" style="height: 10vh"></a> <a href="https://rustfest.world/"><img src="https://rustfest.world/assets/posts/project/rustfest-project-header.png" style="height: 10vh"></a> --- <iframe width="560" height="315" sandbox="allow-same-origin allow-scripts allow-popups" title="A WebAssembly Field Guide easily worth like 70 bottle caps — Flaki @ JSConf Korea 2019" src="https://pityu.flaki.hu/videos/embed/962bdc3c-7525-4a84-87af-084a9420a893" frameborder="0" allowfullscreen></iframe> ###### [A WebAssembly Field Guide easily worth like 70 bottle caps — Flaki @ JSConf Korea 2019](https://pityu.flaki.hu/videos/watch/962bdc3c-7525-4a84-87af-084a9420a893) --- <img src="https://bytecodealliance.org/articles/img/2021-06-02-js-on-wasm/02-01-but-why.png" style="height: 50vh; border: none; box-shadow: none"> ###### "<a href="https://bytecodealliance.org/articles/making-javascript-run-fast-on-webassembly">Making JavaScript run fast on WebAssembly</a>",<br/> image & blogpost by Lin Clark --- > - Good for the browser, great for the cloud > - Security and sandboxing > - Cross-platform and cross-architecture > > — ["Why WebAssembly Belongs Outside the Browser"](https://www.wasm.builders/thomastaylor312/why-webassembly-belongs-outside-the-browser-331a) > <!-- WebAssembly in the *Web browser* was hailed by many as our lord & savior from JavaScript's terror. Many, except the people who were actually building the technology. WebAssembly *is* intended to break the haegemony of JS on the Web -- but in cooperation with JS and not via *[defenestration](https://en.wikipedia.org/wiki/Defenestration)*. I stress *the Web browser*, because it's an important distinction to make. When it comes to outside-of-the-browser usecases... --> --- <iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/rPf7llaTWvg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> Using [Javy](https://github.com/Shopify/javy/tree/main/crates) in the WebAssembly Edge with [Suborbital](https://github.com/suborbital/javy) --- [`wit-bindgen`](https://github.com/bytecodealliance/wit-bindgen) [WebAssembly Interface Types](https://github.com/WebAssembly/interface-types) ###### Check out Radu's blogpost on [WebAssembly Components](https://radu-matei.com/blog/intro-wasm-components/)! --- <iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/dlPVdzcgECQ?start=2233" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ###### [Using JavaScript & TypeScript in Suborbital Reactr](https://youtu.be/dlPVdzcgECQ?t=2233) <br> — by Oscar Spencer --- <iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/C6pcWRpHWG0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ###### "[Wasm Snapshots for Fast Startup](https://www.youtube.com/watch?v=C6pcWRpHWG0)" using [Wizer](https://github.com/bytecodealliance/wizer) <br> — by Nick Fitzgerald --- **Thank you!** Slides: ![QR code version of the link below](./img/qr-rustau.png =256x256) [talk.flak.is/wasm/ext/rustau](https://talk.flak.is/wasm/ext/rustau)
{"type":"slide","slideOptions":{"theme":"white","transition":"slide"}}