List of language bindings for GTK+

From Wikipedia, the free encyclopedia
  (Redirected from Gjs)
Jump to: navigation, search

As shown in the table below, GTK+ has a range of bindings for various languages[1] that implement some or all of its feature set.

Language Name Supported? License Notes
2.24 3.12 GIR Official
Ada GtkAda Partial Partial No No GPL-3 Supported up to 3.8.[3]
C GTK+ Yes Yes N/A Yes LGPL-2.1 Native, no binding needed.
C++ gtkmm Yes Yes No Yes LGPL-2.1
C# and other CLI languages Gtk# Partial Partial No Yes LGPL-2.1 Supported up to 2.12. 3.0 support is in development.[4]
D GtkD Yes Yes No No LGPL-3 with exceptions[5] Supported since 2.12
Erlang gtknode Partial No No No MIT[6] No, partially supported up to 2.16
Fortran gtk-fortran Partial Partial No No GPL-3 Partially supported since 2.24. Was supported from 2.12 until 2.18
FreeBASIC FreeBASIC GTK+ bindings Yes Partial No No LGPL-3 with exception Supported up to 3.4 and since 2.8, integrated into the core distribution.
Gambas Gambas gb.gtk component Partial No No No GPL-2 GTK+ 3 support is in development
Genie Genie Yes Yes Yes Yes LGPL-2.1 language written for GObject system
Go go-gtk Partial No No No BSD/LGPL-2.1 No, partially supported on 2.24
gotk3 No Partial No No ISC[7]
Guile guile-gnome Partial No No No GPL-2 supported up to 2.12, partially supported on 2.14
Haskell Gtk2Hs Yes Yes No No LGPL-2.1 Gtk2Hs is a set of Haskell bindings to many of the libraries included in the GTK+/GNOME platform.
J J GTK addon Partial No No No GPL-3
Java and other JVM languages java-gnome Yes Yes No Yes GPL-2 with exception Unavailable on Microsoft Windows
Julia Gtk.jl Yes Yes No No MIT Includes Glib support
JavaScript Gjs Yes Yes Yes Yes MIT GNOME wiki, based on Mozilla's SpiderMonkey
Seed Yes Yes Yes Yes LGPL-2.1 GNOME wiki, based on WebKit's JavaScriptCore
Lua LGI Partial Yes Yes No MIT[8] Dynamic Lua binding to GObject libraries using GObject-Introspection.
lgob No Yes Yes No LGPL-3 lgob provides bindings of GObject-based libraries for Lua 5.1.
LuaGnome Partial No No No LGPL-2.1/MIT Supported up to 2.16, and since 3.0
Not maintained anymore. A better alternative is the GIR based LGI
OCaml LablGtk Partial No No No LGPL-2.1 with exception No, supported up to 2.16
ooRexx RexxGTK Partial No No No CPL Yes, 2.0 or later
Objective-C CoreGTK Partial No No No LGPL-2.1
ObGTK Partial No No No LGPL-2.1
Objective-C GTK Partial No No No LGPL-2.1
Pascal Free Pascal gtk package Yes Yes No 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 Yes Yes Yes Yes LGPL-2.1
PHP PHP-GTK Partial No No No LGPL-2.1 No, supported up to 2.16
Python pgi Partial Partial Yes No LGPL-2.1 GObject Introspection Bindings for PyPy.
pygir-ctypes Partial Partial Yes No BSD Pure Python GObject Introspection Repository (GIR) wrapper using ctypes.
PyGObject Yes Yes Yes Yes LGPL-2.1 since 2.22[10]
PyGTK Yes No No Yes LGPL-2.1 static bindings, use PyGObject
R RGtk2 Partial No No No GPL-2 RGtk2.pdf
Ruby GirFFI-Gtk Partial Partial Yes No LGPL-2.1 GirFFI-based bindings for Gtk+. Supports both Gtk+ 2 and Gtk+ 3.
Ruby-GNOME2 Partial Yes No No LGPL-2.1 Partial, supported up to 2.12, partially supported since 2.14[11]
Smalltalk GNU Smalltalk GTK+ bindings Yes No No No GPL-2
Smalltalk YX GTK+ plugin Yes No No No MIT
SqueakGtk Partial No No No MIT
Tcl Gnocl Yes No No No BSD
Vala Vala Yes Yes Yes Yes LGPL-2.1 language written for GObject system
Wrapl Wrapl GTK+ module Partial No No No GPL-3 No, but almost full up to 2.22
wxWidgets toolkit wxGTK Partial Partial No No LGPL-2.1 with exception Partial in 2.24, 3.x in development

See also[edit]

References[edit]