fbpx
Wikipedia

List of language bindings for GTK

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. GTK 2 is no longer supported, meaning some languages below do not have current GTK support.

Language Name Supported? License Notes
2.24 3.12 4.0 GIR Official
Ada GtkAda Partial Partial ? Yes No GPL-3 Supported up to 3.14.[3][4]
C GTK Yes Yes Yes Yes LGPL-2.1 Native, no binding needed.
C++ gtkmm Yes Yes Yes No Yes LGPL-2.1
C# and other CLI languages Gtk# Partial No ? No Yes LGPL-2.1 Support for GTK 2 is available up to 2.12.[5]
GtkSharp No Yes No No No LGPL-2.1 Support for GTK 3 is available up to 3.22.
Gir.Core ? ? Partial Partial No MIT
Crystal crystal-gobject No Yes Partial Yes No BSD
gtk4.cr No No Yes Yes No MIT
D GtkD Yes Yes ? Yes No LGPL-3 with exceptions[6] Supported since 2.12
Erlang gtknode Partial No ? No No MIT[7] No, partly supported up to 2.16
Fortran gtk-fortran Partial Partial Partial No No GPL-3 Supported since 2.24. Supports GTK 3 and GTK 4.
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 Yes Partial ? No No GPL-2 Secondary to the primary Qt components
Genie Genie Yes Yes Yes Yes Yes LGPL-2.1 language written for GObject system
Go go-gir-generator ? ? ? Yes No GPL-3
gotk3 No Partial ? No No ISC[8]
Guile guile-gnome Partial No ? No No GPL-2 supported up to 2.12, partly supported on 2.14
Haskell Gtk2Hs Yes Partial ? No No LGPL-2.1 Gtk2Hs is a set of Haskell bindings to many of the libraries included in the GTK/GNOME platform.
haskell-gi No Yes Yes Yes No LGPL-2.1 Generate Haskell bindings for GObject Introspection capable libraries
J J GTK addon Partial No ? No No GPL-3
Java and other JVM languages java-gnome Yes Yes No 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 Yes MIT GNOME wiki, based on Mozilla's SpiderMonkey
Node-Gtk No Yes Partial Yes No MIT Dynamic Node.js binding to GObject libraries using GObject-Introspection.
Seed Yes Yes ? Yes Yes LGPL-2.1 GNOME wiki, based on WebKit's JavaScriptCore
Kotlin/Native gtk-kt No Partial Partial Partial No AGPL-3.0 Partial due to being In development, Usable to an extent.
Lua LGI Partial Yes ? Yes No MIT[9] 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.
Nim gintro No Yes Yes Yes No MIT High level GObject-Introspection based GTK3/GTK4 bindings for Nim language
OCaml LablGtk Partial Partial ? 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 No Partial ? 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 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.[10]
Perl Gtk2-Perl Yes Yes No Yes Yes LGPL-2.1
PHP PHP-GTK Partial Partial[11] ? No No LGPL-2.1 PHP until 5.2, GTK is GTK2
Prolog PLGI Partial Yes ? Yes No LGPL-2.1 Dynamic Prolog binding to GObject libraries using GObject-Introspection.
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 Yes LGPL-2.1 since 2.22[12]
PyGTK Yes No No No Yes LGPL-2.1 static bindings, use PyGObject
R RGtk2 Partial No ? No No GPL-2 RGtk2.pdf
Racket gir ? ? ? Yes No MIT[13]
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 Yes No No MIT License Partial, supported up to 2.12, partly supported since 2.14[14]
Rust gtk-rs No Yes Yes Yes No MIT[15]
gi-rust No Yes ? Yes No LGPL-2.1
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
Standard ML Giraffe Library No Yes ? Yes No LGPL-2.1
Tcl Gnocl Yes No ? No No BSD
Vala Vala Yes 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

See also edit

References edit

  1. ^ . 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. ^ "GtkSharp | Mono".
  6. ^ "GtkD License LGPL-3 with additional exceptions". GitHub. 19 November 2021.
  7. ^ "gtknode license". GitHub. 11 March 2021.
  8. ^ "gotk3 license". GitHub. 17 August 2021.
  9. ^ "LGI license". GitHub. 20 November 2021.
  10. ^ http://wiki.freepascal.org/Gtk%2B3
  11. ^ Alexandre Pereira Bühler (2015-06-22). "Attention: created branch dev-php-gtk3". PHP-GTK General Mailing List.
  12. ^ "PyGObject History". Retrieved 2013-08-29.
  13. ^ "1. Main interface". GitHub. 6 February 2022.
  14. ^ Ruby-GNOME2 Project Team. "gtk3 / Rubygems". Retrieved 2013-05-07.{{cite web}}: CS1 maint: numeric names: authors list (link)
  15. ^ "GTK-rs license". GitHub. 17 November 2021.

list, language, bindings, this, article, uses, bare, urls, which, uninformative, vulnerable, link, please, consider, converting, them, full, citations, ensure, article, remains, verifiable, maintains, consistent, citation, style, several, templates, tools, ava. This article uses bare URLs which are uninformative and vulnerable to link rot Please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style Several templates and tools are available to assist in formatting such as reFill documentation and Citation bot documentation August 2022 Learn how and when to remove this message 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 GTK 2 is no longer supported meaning some languages below do not have current GTK support GObject GOB was initially written as a central component of GTK but outsourced into GLib GObject Introspection is a middleware layer between C libraries using GObject and language bindings e g PyGObject uses this while PyGTK does not 2 Official GNOME Bindings follow the GNOME release schedule which guarantees API stability and time based releases Glade Interface Designer Language Name Supported License Notes 2 24 3 12 4 0 GIR Official Ada GtkAda Partial Partial Yes No GPL 3 Supported up to 3 14 3 4 C GTK Yes Yes Yes Yes LGPL 2 1 Native no binding needed C gtkmm Yes Yes Yes No Yes LGPL 2 1 C and other CLI languages Gtk Partial No No Yes LGPL 2 1 Support for GTK 2 is available up to 2 12 5 GtkSharp No Yes No No No LGPL 2 1 Support for GTK 3 is available up to 3 22 Gir Core Partial Partial No MIT Crystal crystal gobject No Yes Partial Yes No BSD gtk4 cr No No Yes Yes No MIT D GtkD Yes Yes Yes No LGPL 3 with exceptions 6 Supported since 2 12 Erlang gtknode Partial No No No MIT 7 No partly supported up to 2 16 Fortran gtk fortran Partial Partial Partial No No GPL 3 Supported since 2 24 Supports GTK 3 and GTK 4 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 Yes Partial No No GPL 2 Secondary to the primary Qt components Genie Genie Yes Yes Yes Yes Yes LGPL 2 1 language written for GObject system Go go gir generator Yes No GPL 3 gotk3 No Partial No No ISC 8 Guile guile gnome Partial No No No GPL 2 supported up to 2 12 partly supported on 2 14 Haskell Gtk2Hs Yes Partial No No LGPL 2 1 Gtk2Hs is a set of Haskell bindings to many of the libraries included in the GTK GNOME platform haskell gi No Yes Yes Yes No LGPL 2 1 Generate Haskell bindings for GObject Introspection capable libraries J J GTK addon Partial No No No GPL 3 Java and other JVM languages java gnome Yes Yes No 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 Yes MIT GNOME wiki based on Mozilla s SpiderMonkey Node Gtk No Yes Partial Yes No MIT Dynamic Node js binding to GObject libraries using GObject Introspection Seed Yes Yes Yes Yes LGPL 2 1 GNOME wiki based on WebKit s JavaScriptCore Kotlin Native gtk kt No Partial Partial Partial No AGPL 3 0 Partial due to being In development Usable to an extent Lua LGI Partial Yes Yes No MIT 9 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 Nim gintro No Yes Yes Yes No MIT High level GObject Introspection based GTK3 GTK4 bindings for Nim language OCaml LablGtk Partial Partial 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 No Partial 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 10 Perl Gtk2 Perl Yes Yes No Yes Yes LGPL 2 1 PHP PHP GTK Partial Partial 11 No No LGPL 2 1 PHP until 5 2 GTK is GTK2 Prolog PLGI Partial Yes Yes No LGPL 2 1 Dynamic Prolog binding to GObject libraries using GObject Introspection 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 Yes LGPL 2 1 since 2 22 12 PyGTK Yes No No No Yes LGPL 2 1 static bindings use PyGObject R RGtk2 Partial No No No GPL 2 RGtk2 pdf Racket gir Yes No MIT 13 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 Yes No No MIT License Partial supported up to 2 12 partly supported since 2 14 14 Rust gtk rs No Yes Yes Yes No MIT 15 gi rust No Yes Yes No LGPL 2 1 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 Standard ML Giraffe Library No Yes Yes No LGPL 2 1 Tcl Gnocl Yes No No No BSD Vala Vala Yes 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 22See also editList of language bindings for Qt 4 List of language bindings for Qt 5 List of language bindings for wxWidgetsReferences edit Language Bindings The GTK Project Archived from the original on 2011 07 13 Retrieved 2013 05 18 GObject Introspection 1 Introduction What is GtkAda GtkAda 22 0w documentation 10 Object oriented features GtkAda 22 0w documentation GtkSharp Mono GtkD License LGPL 3 with additional exceptions GitHub 19 November 2021 gtknode license GitHub 11 March 2021 gotk3 license GitHub 17 August 2021 LGI license GitHub 20 November 2021 http wiki freepascal org Gtk 2B3 Alexandre Pereira Buhler 2015 06 22 Attention created branch dev php gtk3 PHP GTK General Mailing List PyGObject History Retrieved 2013 08 29 1 Main interface GitHub 6 February 2022 Ruby GNOME2 Project Team gtk3 Rubygems Retrieved 2013 05 07 a href Template Cite web html title Template Cite web cite web a CS1 maint numeric names authors list link GTK rs license GitHub 17 November 2021 Retrieved from https en wikipedia org w index php title List of language bindings for GTK amp oldid 1205430384, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.