Информационные списки

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

Перейти к навигацииПерейти к поиску

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

GObject (GOB) был изначально написан как главный компонент GTK, но в итоге им стал GLib. GObject Introspection — промежуточный слой между библиотеками на Си (которые используют GObject) и языковыми привязками; например PyGObject использует именно его, а PyGTK — нет[2]. Официальные привязки GNOME следуют расписанию выпусков GNOME, что гарантирует стабильность API.

Язык Название Поддерживается? ЛицензияПримечания
2.24 3.12 GIR Официально
АдаGtkAda ЧастичноЧастичноНетНет GPLv3Поддерживается до версии 3.8.[3]
СиGTK+ ДаДаN/AДа LGPL-2.1Нативно, привязки не требуются.
C++gtkmmДаДаНетДа LGPL-2.1
C# и другие CLI-языкиGtk#[англ.]ЧастичноЧастичноНетДа LGPL-2.1Поддерживается до версии 2.12. Поддержка 3.0 в разработке.[4]
DGtkD ДаДаНетНет LGPL-3 с исключениями[5]Поддерживается с версии 2.12
Erlanggtknode ЧастичноНетНетНет MIT[6]Частично поддерживается с версии 2.16
Фортранgtk-fortran ЧастичноЧастичноНетНет GPL-3Частично поддерживается с версии 2.24. Поддерживался полностью с версии 2.12 до 2.18
FreeBASICFreeBASIC-привязки к GTK+ ДаЧастичноНетНет LGPL-3 с исключениями Поддерживается до версии 3.4 и с версии 2.8 встроен в основную поставку.
GambasGambas gb.gtk component ЧастичноНетНетНет GPL-2Поддержка GTK+ 3 в разработке.
Genie Genie ДаДаДаДа LGPL-2.1Язык написан для системы GObject
Gogo-gtk ЧастичноНетНетНет BSD/LGPL-2.1Частично поддерживался в версии 2.24
gotk3 НетЧастичноНетНет ISC[7]
gogobject НетЧастичноДаНет MIT
Guile guile-gnome ЧастичноНетНетНет GPL-2Поддерживается до версии 2.12, частично поддерживается в 2.14
HaskellGtk2Hs ДаДаНетНет LGPL-2.1Gtk2Hs — набор привязок к различным библиотекам, в том числе GTK+.
JJ GTK addon ЧастичноНетНетНет GPL-3
Java и другие языки JVMjava-gnome ДаДаНетДа GPL-2 с исключениями Недоступна для Microsoft Windows
JuliaGtk.jl ДаДаНетНет MIT Включает поддержку Glib
JavaScriptGjs ДаДаДаДа MIT Основывается на SpiderMonkey от Mozilla
Seed ДаДаДаДа LGPL-2.1Основывается на JavaScriptCore от WebKit
Lua LGI ЧастичноДаДаНет MIT[8]Динамические привязки к GObject, использующие GObject-Introspection.
lgob НетДаДаНет LGPL-3lgob предоставляет привязки к GObject-based для Lua 5.1.
OCamlLablGtk ЧастичноНетНетНет LGPL-2.1 с исключениями Поддерживается до версии 2.16
ooRexxRexxGTK ЧастичноНетНетНет CPLПоддерживается с версии 2.0
Objective-CCoreGTK НетЧастичноНетНет LGPL-2.1
ObGTK ЧастичноНетНетНет LGPL-2.1
Objective-C GTK ЧастичноНетНетНет LGPL-2.1
Паскаль Free Pascal gtk package ДаДаНетНет LGPL-3 с исключениями Поддерижвается до 2.24, встроен в стандартную поставку. Привязки к Gtk+3.0 разрабатываются проектом Lazarus-ccr.[9]
PerlGtk2-Perl ДаДаДаДа LGPL-2.1
PHPPHP-GTKЧастичноЧастично[10]НетНет LGPL-2.1
ПрологPLGI ЧастичноДаДаНет LGPL-2.1Динамические привязки к GObject, использующие GObject-Introspection.
Python pgi ЧастичноЧастичноДаНет LGPL-2.1GObject Introspection привязки для PyPy.
pygir-ctypes ЧастичноЧастичноДаНет BSD Обёртка для GObject Introspection Repository (GIR) на чистом Python, использующая ctypes.
PyGObject ДаДаДаДа LGPL-2.1С версии 2.22[11]
PyGTKДаНетНетДа LGPL-2.1Статические привязки, использующие PyGObject
RRGtk2 ЧастичноНетНетНет GPL-2[12]
RubyGirFFI-Gtk ЧастичноЧастичноДаНет LGPL-2.1Основанные на GirFFI привязки к Gtk+. Поддерживает как Gtk+ 2, так и Gtk+ 3.
Ruby-GNOME2 ЧастичноДаНетНет MIT License Частично поддерживается до версии 2.12 и после версии 2.14[13]
Rustgtk-rs НетДаДаДа LGPL-2.1
gi-rust НетДаДаНет LGPL-2.1
SmalltalkGNU Smalltalk GTK+ bindings ДаНетНетНет GPL-2
Smalltalk YX GTK±плагин ДаНетНетНет MIT
SqueakGtk ЧастичноНетНетНет MIT
TclGnocl ДаНетНетНет BSD
ValaVala ДаДаДаДа LGPL-2.1Язык написан для GObject
Wrapl Wrapl GTK+ module ЧастичноНетНетНет GPL-3Почти полностью поддерживается до версии 2.22

Примечания

  1. GTK+ Language Bindings. The GTK+ Project. Дата обращения: 18 мая 2013. Архивировано из оригинала 13 июля 2011 года.
  2. GObject Introspection. Дата обращения: 16 марта 2016. Архивировано 23 марта 2016 года.
  3. 1. Introduction: What is GtkAda ? — GtkAda 17.0w documentation. Дата обращения: 16 марта 2016. Архивировано 3 марта 2016 года.
  4. Источник. Дата обращения: 16 марта 2016. Архивировано 4 марта 2016 года.
  5. GtkD License LGPL-3 with additional exceptions. Дата обращения: 16 марта 2016. Архивировано 6 января 2022 года.
  6. gtknode license. Дата обращения: 16 марта 2016. Архивировано 6 января 2022 года.
  7. gotk3 license. Дата обращения: 16 марта 2016. Архивировано 6 января 2022 года.
  8. LGI license. Дата обращения: 16 марта 2016. Архивировано 6 января 2022 года.
  9. Gtk+3 - Free Pascal wiki. Дата обращения: 16 марта 2016. Архивировано 19 апреля 2016 года.
  10. Alexandre Pereira Bühler. Attention: created branch dev-php-gtk3. PHP-GTK General Mailing List (22 июня 2015). Дата обращения: 16 марта 2016. Архивировано 6 января 2022 года.
  11. PyGObject History. Дата обращения: 29 августа 2013.
  12. RGtk2.pdf. Дата обращения: 16 марта 2016. Архивировано 9 марта 2016 года.
  13. Ruby-GNOME2 Project Team. gtk3 / Rubygems. Дата обращения: 7 мая 2013. Архивировано 7 апреля 2014 года.

Литература

  • Andrew Krause. Language Bindings // Foundations of GTK+ Development. — Apress, 2007-09-09. — С. 9. — 639 с. — ISBN 9781430203865.

Ссылки