Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

List of language bindings for GTK

From Wikipedia, the free encyclopedia
(Redirected from GTK Sharp)

As shown in the table below, GTK has a range of bindings for various programming languages[1] that implement some or all of its feature set. GTK 2 is unsupported now, so some languages below lack current GTK support.

Language Name Supported? License Notes
2.24 3.12 4.0 GIR
Ada GtkAda PartialPartial ?Yes GPL-3 Supported up to 3.14.[3][4]
C GTK YesYesYesN/a LGPL-2.1 Native, no binding needed.
C++ gtkmm YesYesYesNo LGPL-2.1
C# and other CLI languages GtkSharp NoYes NoNo LGPL-2.1 Support for GTK 3 is available up to 3.22.
Gir.Core NoNo PartialPartial MIT
Crystal crystal-gobject NoYes PartialYes BSD
gtk4.cr NoNo YesYes MIT
D GtkD YesYes NoYes LGPL-3 with exceptions[5] Supported since 2.12
Erlang gtknode PartialNo NoNo MIT [6] No, partly supported up to 2.16
Fortran gtk-fortran PartialPartialPartialNo GPL-3 Supported since 2.24. Supports GTK 3 and GTK 4.
FreeBASIC FreeBASIC GTK bindings YesPartial NoNo LGPL-3 with exception Supported up to 3.4 and since 2.8, integrated into the core distribution.
Gambas Gambas gb.gtk component YesPartial ?No GPL-2 Secondary to the primary Qt components
Genie Genie YesYes YesYes LGPL-2.1 language written for GObject system
Go go-gir-generator ?? ?Yes GPL-3
gotk3 NoPartial ?No ISC[7]
Guile guile-gnome PartialNo ?No GPL-2 supported up to 2.12, partly supported on 2.14
Haskell Gtk2Hs YesPartial ?No LGPL-2.1 Gtk2Hs is a set of Haskell bindings to many of the libraries included in the GTK/GNOME platform.
haskell-gi NoYes YesYes LGPL-2.1 Generate Haskell bindings for GObject Introspection capable libraries
J J GTK addon[link removed] PartialNo ?No GPL-3
Java and other JVM languages java-gnome YesYes NoNo GPL-2 with exception Unavailable on Microsoft Windows
Java-GI NoNo YesYes LGPL-2.1 Works with OpenJDK 25 or later
Julia Gtk4.jl YesYes YesNo MIT Includes Glib support
JavaScript Gjs YesYes YesYes MIT GNOME wiki, based on Mozilla's SpiderMonkey
Node-Gtk NoYes PartialYes MIT
Seed YesYes ?Yes LGPL-2.1 GNOME wiki, based on WebKit's JavaScriptCore
Kotlin/Native gtk-ktNoPartialPartialPartial AGPL-3.0
gtk-knNoNoNoPartial LGPL-3
Lua LGI PartialYes YesYes MIT[8]
lgob NoYes ?Yes LGPL-3
Nim gintroNoYes YesYes MIT
OCaml LablGtk PartialPartial ?No LGPL-2.1 with exception Supported up to 2.16
ooRexx RexxGTK PartialNo ?No CPL Yes, 2.0 or later
Objective-C CoreGTK NoPartial ?No LGPL-2.1
ObGTK PartialNo ?No LGPL-2.1
Objective-C GTK PartialNo ?No LGPL-2.1
Pascal Free Pascal gtk package YesYes ?No LGPL-3 with exception Supported up to 2.24, integrated into the core distribution. Gtk 3.0 bindings are being developed in the Lazarus-ccr project.[9]
Perl Gtk2-Perl YesYes NoYes LGPL-2.1
PHP PHP-GTK PartialPartial[10] ?No LGPL-2.1 PHP until 5.2, GTK is GTK2
Prolog PLGI PartialYes ?Yes LGPL-2.1
Python pgi PartialPartial ?Yes LGPL-2.1 GObject Introspection Bindings for PyPy.
pygir-ctypes PartialPartial ?Yes BSD
PyGObject YesYes YesYes LGPL-2.1 since 2.22[11]
PyGTK YesNo NoNo LGPL-2.1
R RGtk2 PartialNo ?No GPL-2 RGtk2.pdf Archived 2016-03-09 at the Wayback Machine
Racket gir ?? ?Yes MIT[12]
Ruby GirFFI-Gtk PartialPartial ?Yes LGPL-2.1
Ruby-GNOME2 Archived 2008-08-21 at the Wayback Machine PartialYes YesNo MIT License Partial, supported up to 2.12, partly supported since 2.14[13]
Rust gtk-rs NoYes YesYes MIT[14]
gi-rust NoYes ?Yes LGPL-2.1
Smalltalk GNU Smalltalk GTK+ bindings YesNo ?No GPL-2
Smalltalk YX GTK plugin YesNo ?No MIT
SqueakGtk PartialNo ?No MIT
Standard ML Giraffe Library NoYes ?Yes LGPL-2.1
Tcl Gnocl YesNo ?No BSD
Vala Vala YesYes YesYes LGPL-2.1 Language written for GObject system
Wrapl Wrapl GTK+ module PartialNo ?No GPL-3 No, but almost full up to 2.22

See also

[edit]

References

[edit]
  1. ↑ "Language Bindings". The GTK Project. Archived from the original on 2011-07-13. Retrieved 2013-05-18.
  2. ↑ "GObject Introspection".
  3. ↑ "1. Introduction: What is GtkAda ? — GtkAda 22.0w documentation".
  4. ↑ "10. Object-oriented features — GtkAda 22.0w documentation".
  5. ↑ "GtkD License LGPL-3 with additional exceptions". GitHub. 19 November 2021.
  6. ↑ "gtknode license". GitHub. 11 March 2021.
  7. ↑ "gotk3 license". GitHub. 17 August 2021.
  8. ↑ "LGI license". GitHub. 20 November 2021.
  9. ↑ "Gtk+3 - Lazarus wiki". wiki.freepascal.org. Retrieved 2025-09-19.
  10. ↑ Alexandre Pereira Bühler (2015-06-22). "Attention: created branch dev-php-gtk3". PHP-GTK General Mailing List.
  11. ↑ "PyGObject History". Retrieved 2013-08-29.
  12. ↑ "1. Main interface". GitHub. 6 February 2022.
  13. ↑ Ruby-GNOME2 Project Team. "gtk3 / Rubygems". Retrieved 2013-05-07.{{cite web}}: CS1 maint: numeric names: authors list (link)
  14. ↑ "GTK-rs license". GitHub. 17 November 2021.