WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits...
Transcript of WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits...
![Page 1: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/1.jpg)
WebAssembly - The Next Big Platform
Sven Sauleau
2019
1
![Page 2: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/2.jpg)
Sven Sauleau @svensauleau
@svensauleau 2
![Page 3: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/3.jpg)
JavaScript, what happened?
![Page 4: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/4.jpg)
Loading time
1. Fetching.
2. Parsing source.
3. Compiling + optimizing∞−→ reoptimizing.
@svensauleau 4
![Page 5: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/5.jpg)
Performance
Dynamic and untyped.
Complex runtime.
Managed memory.
@svensauleau 5
![Page 6: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/6.jpg)
Became acompilation target
![Page 8: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/8.jpg)
WebAssembly,at the rescue?
![Page 9: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/9.jpg)
Sources
C/C++ Rust Golang Haskell . . .
Compilers
Emscripten rustc GoGHC
Asterius
LLVM
Binaryen
WebAssembly Module
@svensauleau 9
![Page 10: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/10.jpg)
WebAssembly Module
Runtimes
Web browsers
(Firefox, Chrome, Safari, ...)
Other environments
(WASI, WAVM, crypto...)
@svensauleau 10
![Page 11: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/11.jpg)
What’s evenWebAssembly?
![Page 13: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/13.jpg)
Inside the black box
![Page 14: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/14.jpg)
...
y from x
import section
func #2
export section
WebAssembly Module
JS JS
@svensauleau 14
![Page 18: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/18.jpg)
WebAssembly all thethings?
![Page 20: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/20.jpg)
WebAssembly is designed to be a
complement to, not replacement of,
JavaScript.
@svensauleau 20
![Page 21: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/21.jpg)
demo!
![Page 22: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/22.jpg)
Rust andWebAssembly
![Page 25: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/25.jpg)
demo!
![Page 26: WebAssembly - The Next Big PlatformKickstart your Rust, WebAssembly, and Webpack project! O commits New pull request p 2 branches View license Clone or download Create new file Upload](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f0ef47f7e708231d441c36b/html5/thumbnails/26.jpg)
Thanks!