A Night of Interop: Rust in React Native & Rust in Golang (two talks)


Details
For this month, we'll have two speakers give two different talks related to experiences trying to get Rust interoperability working with other language runtimes such as Golang and JavaScript.
Rust in Golang presented by Nicholas Yang
The talk is an exploration of using Rust's interoperability features to incrementally rewrite a Go codebase. It discusses all the design decisions and annoying interoperability issues we discovered in the process, such as reducing the surface area of native APIS, compiling to multiple platforms, and C standard library conflicts.
Rust in React Native presented by Varun Dhananjaya
React Native is a popular framework for building native apps for iOS and Android. The framework's core engine was recently rewritten, introducing a new way to integrate custom C++ code into its JS runtime: the JavaScript Interface (JSI).
JSI has been a game changer for React Native apps, but C++ comes with many downsides, among them memory safety issues, lack of good package management, and a lack of compatibility with modern JS paradigms.
Rust offers memory safety guarantees, a robust package manager, and more modern features like async/await and runtimes (akin to the JS event loop). But integrating it into a React Native project on both iOS and Android can be challenging.
In this talk, we discuss how to integrate Rust into a React Native app, ultimately implementing a JSI function that returns a Promise, which enqueues tasks to execute on an async Rust runtime. We then delve into more sophisticated use cases, including how Comm leverages Rust in our mobile app today.
***
We'll open doors at 7pm, and the talks will be from 7:30pm-8:30pm. And as usual, if there's enough interest, we'll go hang out at a local bar afterward!
***
If you'd like to share a talk with us, have talk suggestions, or would like to keep up with our virtual events in the future, please join our Rust East Coast Discord, where we plan and share future and past talks!
***
JFrog has generously agreed to sponsor this month's event by providing food and drink.
***
Comm.app have generously agreed to host this month's event.
COVID-19 safety measures

A Night of Interop: Rust in React Native & Rust in Golang (two talks)