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.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a406eb9b9c2aa3ae

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.