Introducing gtk-rs
The goal of this talk is to provide an introduction to the gtk bindings in Rust through the gtk-rs organization. It'll be mainly about how we made it and how we keep making it better.
- Presentation of gtk-rs (before it was even an organization)
- Beginning: rust <-> C direct binding, no indirection, almost no safety
- Generation of signals through (old) macro system
- Old closures system to allow callbacks
- Short (old) code demonstration
- Creation of gtk-rs
- multi-repository
- easier to maintain, more difficult to release
- licensing issues: keeping docs in their own repository and write a tool to put it back
- New gtk-rs era: automatic generation
- GIR crate
- Parsing gir files and automatically generate as much as possible
- Presentation of the crate, how it works and the hierarchy
- A lot of things are simplified: doc generation, website, releases
- gtk-rs growth
- more members
- (semi) automatic release process
- a lot more of bindings (sourceview, pangocairo, webkit...)
- gtk-rs environment
- a few projects (process viewer, EDI, tools...)
- relm crate to easily write GTK UIs
- GNOME-class
- gstreamer-rs
- Future of gtk-rs
- async
- tutorials
- more projects
- more rust in GNOME libraries (librsvg already started this port)
Speakers:
Guillaume Gomez