Список языковых привязок GTK+

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Как показано в таблице ниже, у GTK+ есть множество привязок для различных языков[1], которые реализуют некоторый или весь функционал GTK.

  • GObject (GOB) был изначально написан как главный компонент GTK+, но в итоге им стал GLib.
  • GObject Introspection — промежуточный слой между библиотеками на C (которые используют GObject) и языковыми привязками, например PyGObject использует именно его, а PyGTK — нет.[2]
  • Официальные привязки GNOME следуют расписанию релизов GNOME, что гарантирует стабильность API и повременные релизы.
  • Дизайнер интерфейсов Glade
Язык Название Поддерживается? Лицензия Примечания
2.24 3.12 GIR Официально
Ada GtkAda Частично Частично Нет Нет GPLv3 Поддерживается до версии 3.8.[3]
C GTK+ Да Да N/A Да LGPL-2.1 Нативно, привязки не требуются.
C++ gtkmm Да Да Нет Да LGPL-2.1
C# и другие CLI языки Gtk# Частично Частично Нет Да LGPL-2.1 Поддерживается до версии 2.12. Поддержка 3.0 в разработке.[4]
D GtkD Да Да Нет Нет LGPL-3 с исключениями[5] Поддерживается с версии 2.12
Erlang gtknode Частично Нет Нет Нет MIT[6] Частично поддерживается с версии 2.16
Fortran gtk-fortran Частично Частично Нет Нет GPL-3 Частично поддерживается с версии 2.24. Поддерживался полностью с версии 2.12 до 2.18
FreeBASIC FreeBASIC привязки к GTK+ Да Частично Нет Нет LGPL-3 с исключениями Поддерживается до версии 3.4 и с версии 2.8 встроен в основную поставку.
Gambas Gambas gb.gtk component Частично Нет Нет Нет GPL-2 Поддержка GTK+ 3 в разработке.
Genie Genie Да Да Да Да LGPL-2.1 Язык написан для системы GObject
Go go-gtk Частично Нет Нет Нет BSD/LGPL-2.1 Частично поддерживался в версии 2.24
gotk3 Нет Частично Нет Нет ISC[7]
gogobject Нет Частично Да Нет MIT
Guile guile-gnome Частично Нет Нет Нет GPL-2 Поддерживается до версии 2.12, частично поддерживается в 2.14
Haskell Gtk2Hs Да Да Нет Нет LGPL-2.1 Gtk2Hs — набор привязок к различным библиотекам, в т.ч. GTK+.
J J GTK addon Частично Нет Нет Нет GPL-3
Java и другие языки JVM java-gnome Да Да Нет Да GPL-2 с исключениями Недоступна для Microsoft Windows
Julia Gtk.jl Да Да Нет Нет MIT Включает поддержку Glib
JavaScript Gjs Да Да Да Да MIT GNOME wiki, основывается на SpiderMonkey от Mozilla
Seed Да Да Да Да LGPL-2.1 GNOME wiki, основывается на JavaScriptCore от WebKit
Lua LGI Частично Да Да Нет MIT[8] Динамические привязки к GObject, использующие GObject-Introspection.
lgob Нет Да Да Нет LGPL-3 lgob предоставляет привязки к GObject-based для Lua 5.1.
OCaml LablGtk Частично Нет Нет Нет LGPL-2.1 с исключениями Поддерживается до версии 2.16
ooRexx RexxGTK Частично Нет Нет Нет CPL Поддерживается с версии 2.0
Objective-C CoreGTK Нет Частично Нет Нет LGPL-2.1
ObGTK Частично Нет Нет Нет LGPL-2.1
Objective-C GTK Частично Нет Нет Нет LGPL-2.1
Pascal Free Pascal gtk package Да Да Нет Нет LGPL-3 с исключениями Поддерижвается до 2.24, встроен в стандартную поставку. Привязки к Gtk+3.0 разрабатываются проектом Lazarus-ccr.[9]
Perl Gtk2-Perl Да Да Да Да LGPL-2.1
PHP PHP-GTK Частично Частично[10] Нет Нет LGPL-2.1
Prolog PLGI Частично Да Да Нет LGPL-2.1 Динамические привязки к GObject, использующие GObject-Introspection.
Python pgi Частично Частично Да Нет LGPL-2.1 GObject Introspection привязки для PyPy.
pygir-ctypes Частично Частично Да Нет BSD Обёртка для GObject Introspection Repository (GIR) на чистом Python, использующая ctypes.
PyGObject Да Да Да Да LGPL-2.1 С версии 2.22[11]
PyGTK Да Нет Нет Да LGPL-2.1 Статические привязки, использующие PyGObject
R RGtk2 Частично Нет Нет Нет GPL-2 RGtk2.pdf
Ruby GirFFI-Gtk Частично Частично Да Нет LGPL-2.1 Основанные на GirFFI привязки к Gtk+. Поддерживает как Gtk+ 2, так и Gtk+ 3.
Ruby-GNOME2 Частично Да Нет Нет MIT License Частично поддерживается до версии 2.12 и после версии 2.14[12]
Rust gtk-rs Нет Да Да Нет LGPL-2.1
gi-rust Нет Да Да Нет LGPL-2.1
Smalltalk GNU Smalltalk GTK+ bindings Да Нет Нет Нет GPL-2
Smalltalk YX GTK+ плагин Да Нет Нет Нет MIT
SqueakGtk Частично Нет Нет Нет MIT
Tcl Gnocl Да Нет Нет Нет BSD
Vala Vala Да Да Да Да LGPL-2.1 Язык написан для GObject
Wrapl Wrapl GTK+ module Частично Нет Нет Нет GPL-3 Почти полностью поддерживается до версии 2.22

См. также[править | править код]

Примечания[править | править код]

Литература[править | править код]

Ссылки[править | править код]