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
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]