Application extensions are an essential part of any software ecosystem. While Rust is a great language, its lack of a standard ABI means that the whole source code has to be available to the compiler. This makes writing shared libraries and software extensions in Rust almost impossible, unless they expose items through the Foreign Function Interface (FFI) or, in other words, the C ABI. Using FFI renders Rust's type and memory model useless. This talk will explore the ways in which WebAssembly Components can be used to build software extension in Rust avoiding the FFI and exposing rich data types and provide a safe memory mode. It will provide insights into several ways in which widely used Rust projects, such as Zed and Zellij have implemented extensions.
Speaker
Alex Radovici
Operating Systems & Compilers PhD, Author of "Getting Started with Secure Embedded Systems" and Core Contributor of Tock OS
Alex Radovici, PhD. - specializes in Operating Systems and Compiler and is a core contributor to Tock OS. He has published the first book on Tock OS kernel & application development. He has 20 years of experience in software engineering with a focus on embedded systems and IoT, with products delivered to P3, Intel, Cisco, Telekom, and OMV.