centered | layout |
---|---|
true |
default |
The gtk-rs project provides safe bindings to the Rust language for fundamental libraries from the GNOME stack like GLib, Cairo, GTK 3 and GTK 4. {: class="center"}
{% include post_overview.html %}
The following table contains the most popular crates of gtk-rs. More information on all existing crates is available under the corresponding links in the Project column in the table below.
{% include crates.html %}
{% include book.svg %}
Julian Hofer is writing a book titled GUI development with Rust and GTK 4. We recommend both new and experienced gtk-rs users to have a look at it. While this book is targeted at people who want to develop GTK 4 applications, it also covers more general aspects of the GNOME stack such as GObject Concepts, The Main Event Loop and GSettings.
By now, a number of additional bindings for GObject based libraries exist. While not part of the gtk-rs project, many of them are developed in close collaboration. Notable other projects within the gtk-rs ecosystem are
- GStreamer Open source multimedia framework
- Adwaita Building blocks for modern GNOME applications
- SourceView 5 A library extending GtkTextView with features typical for a source code editor
- Relm 4 An idiomatic GUI library inspired by Elm and based on gtk4-rs {: class="box-list"}
More bindings can be found as part of the GNOME GitLab Rust Group.
All these bindings are generated on the basis of GObject introspection (GIR). The book Generate Rust bindings for GIR based libraries provides the documentation for the tools that gtk-rs provides to generate such bindings.
{% include featured_projects.html %}
{% include projects.html %}
Thanks to everyone supporting us on open collective! A list of all sponsors can be seen on our open collective page.