Making Go Talk to Rust: Simplifying Cross-Language Communication with UniFFI

Making Go Talk to Rust: Simplifying Cross-Language Communication with UniFFI

Speaker: Pratim Bhosale

Description

Bridging backend and front-end logic has always been a headache. You need to rewrite the logic in multiple frameworks and languages which requires more resources and expertise. As specifications scale, this becomes unmanageable.

The dream is to write a package once and reuse it everywhere. Even though Rustacians are the ultimate nemesis of Gophers, utilising the potential of some Rust features like memory safety, and performance in your Go code can be a game changer.

Traditionally, developers have navigated this challenge with manual bindings to C. However the code ends up with more patchwork than efficiency and consumes significant time.

Enter UniFFI and uniffi-bindgen-go. UniFFI, developed by Mozilla, is a tool designed to automatically generate foreign-language bindings. This simplifies the development and maintenance of a cross-platform codebase.

In this talk, we will generate Go bindings effortlessly for Rust libraries using uniffi-bindgen-go.

We’ll walk through its mechanics, see a live demo of its implementation and compare it with traditional ways.

Track

Technology & Community

Level

Intermediate