Introducing gtk-kn: GTK for Kotlin/Native
We've been working on generating Kotlin Native bindings for GTK and other GObject Introspection-based libraries (Gio, Pango, Adwaita, GtkSourceView,...)
A quick non-exhaustive list of what is already possible right now:
• Build UI in code using widgets from the Gtk4 and Adwaita libraries
• Load and use
.ui
resource files
• Connect signal handlers
• Use property binding on all objects and widgets
• Work with `ListModel`/`ListStore`/`Listview`
• Define your own
GObject
types with support for properties
• Use various Gio abstractions including the file system API, menus, actions and resources
We have not published the artefacts to MavenCentral yet. However, you can still use it in your projects by building locally and deploying to MavenLocal. The current focus is on Linux, but we're also looking at Windows/MacOS support in the future.
We would love to hear some feedback on the project, so if you're interested in testing it out, head over to our GitLab page
https://gitlab.com/gtk-kn/gtk-kn to learn more. Also, if you have any questions or want to get involved in development discussions, we mostly hang out on our Matrix room at
https://matrix.to/#/#gtk-kn:matrix.org.