GIR
is a project that helps for generating safe Rust bindings for GObject based libraries. The generated bindings consists of two parts: FFI (the unsafe 1:1 C API calls from Rust) and the safe high-level safe Rust API.
A work in progress book to help with learning how to use gir
along with a tutorial are available at https://gtk-rs.org/gir/book.