webassembly system interface (wasi) changes everything.. getting started tutorial using rust & wasm
in this video we look at how using WASI (web assembly system interface), we can create more powerful webassembly applications that can interact with i/o such as the console and filesystems using WASI. we create some rust cli apps and then build their equivalent webassembly cli apps in rust. we explore how to write to the console. write to files and access command line arguments. finally we look at how we can use runtimes to excute our cli apps or create native executables, as well as thinking about webassembly/wasi use cases. code is on github https://github.com/chrishayuk/chuk-wasi-rust 00:00 - introduction 01:50 - creating a rust cli application with cargo new 03:20 - executing our rust cli application 03:45 - introducing WASI (Web Assembly System Interface) 04:25 - targeting our rust application for WASI 05:15 - building our wasi webassemby app 07:30 - introducing wasmtime (webassembly runtime) 07:50 - installing wasmtime 08:06 - executing our wasm with wasmtime runtime 09:07 - speeding up development with cargo wasi 10:15 - executing our wasi webassembly module with wasmer runtime 11:10 - creating a webassembly exe with wasmer 12:41 - comparing rust cli app sizes with wasmer cli apps 14:00 - webassembly and wasi use cases 15:15 - accessing command line arguments with wasi 19:20 - writing files using webassembly, wasi and rust 23:30 - filesystem sandboxes with wasi 24:30 - webassembly wasi use-cases vs native rust 26:00 - outro
in this video we look at how using WASI (web assembly system interface), we can create more powerful webassembly applications that can interact with i/o such as the console and filesystems using WASI. we create some rust cli apps and then build their equivalent webassembly cli apps in rust. we explore how to write to the console. write to files and access command line arguments. finally we look at how we can use runtimes to excute our cli apps or create native executables, as well as thinking about webassembly/wasi use cases. code is on github https://github.com/chrishayuk/chuk-wasi-rust 00:00 - introduction 01:50 - creating a rust cli application with cargo new 03:20 - executing our rust cli application 03:45 - introducing WASI (Web Assembly System Interface) 04:25 - targeting our rust application for WASI 05:15 - building our wasi webassemby app 07:30 - introducing wasmtime (webassembly runtime) 07:50 - installing wasmtime 08:06 - executing our wasm with wasmtime runtime 09:07 - speeding up development with cargo wasi 10:15 - executing our wasi webassembly module with wasmer runtime 11:10 - creating a webassembly exe with wasmer 12:41 - comparing rust cli app sizes with wasmer cli apps 14:00 - webassembly and wasi use cases 15:15 - accessing command line arguments with wasi 19:20 - writing files using webassembly, wasi and rust 23:30 - filesystem sandboxes with wasi 24:30 - webassembly wasi use-cases vs native rust 26:00 - outro