Как показано в таблице ниже, GTK имеет ряд привязок для различных языков [1], которые реализуют некоторые или все его функции.
- GObject (GOB) изначально был написан как центральный компонент GTK, но передан в GLib .
- GObject Introspection - это промежуточный уровень между библиотеками C (использующими GObject) и языковыми привязками, например, PyGObject использует это, а PyGTK - нет. [2]
- Официальные привязки GNOME следуют графику выпуска GNOME, который гарантирует стабильность API и выпуски на основе времени.
- Дизайнер интерфейсов Glade
Язык | Имя | Поддерживается? | Лицензия | Заметки | |||
---|---|---|---|---|---|---|---|
2,24 | 3,12 | GIR | Официальный | ||||
Ада | GtkAda | Частичное | Частичное | да | Нет | GPL-3 | Поддерживается до 3.14. [3] [4] |
C | GTK | да | да | N / A | да | LGPL-2.1 | Родной, привязка не требуется. |
C ++ | gtkmm | да | да | Нет | да | LGPL-2.1 | |
C # и другие языки интерфейса командной строки | Gtk # | Частичное | Нет | Нет | да | LGPL-2.1 | Поддержка GTK 2 доступна до 2.12. [5] |
GtkSharp | Нет | да | Нет | Нет | LGPL-2.1 | Поддержка GTK 3 доступна до версии 3.22. | |
Кристалл | хрустальный объект | ? | ? | да | Нет | Apache-2.0 | |
D | GtkD | да | да | да | Нет | LGPL-3 с исключениями [6] | Поддерживается с 2.12 |
Erlang | gtknode | Частичное | Нет | Нет | Нет | Массачусетский технологический институт [7] | Нет, частично поддерживается до 2.16 |
Фортран | gtk-fortran | Частичное | Частичное | Нет | Нет | GPL-3 | Поддерживается с версии 2.24. Поддерживает GTK 3 и GTK 4. |
FreeBASIC | Привязки FreeBASIC GTK | да | Частичное | Нет | Нет | ЛГПЛ-3 за исключением | Поддерживается до 3.4 и начиная с 2.8, интегрирован в основной дистрибутив. |
Гамбас | Компонент gambas gb.gtk | да | Частичное | Нет | Нет | GPL-2 | Вторичный по отношению к основным компонентам Qt |
Джинн | Джинн | да | да | да | да | LGPL-2.1 | язык, написанный для системы GObject |
Идти | go-gir-generator | ? | ? | да | Нет | GPL-3 | |
gotk3 | Нет | Частичное | Нет | Нет | ISC [8] | ||
Хитрость | лукавый гном | Частичное | Нет | Нет | Нет | GPL-2 | поддерживается до 2.12, частично поддерживается в 2.14 |
Haskell | Gtk2Hs | да | Частичное | Нет | Нет | LGPL-2.1 | Gtk2Hs - это набор привязок Haskell ко многим библиотекам, включенным в платформу GTK / GNOME. |
haskell-gi | Нет | да | да | Нет | LGPL-2.1 | Создание привязок Haskell для библиотек с поддержкой GObject Introspection | |
J | Дополнение J GTK | Частичное | Нет | Нет | Нет | GPL-3 | |
Java и другие языки JVM | java-gnome | да | да | Нет | да | GPL-2 с исключением | Недоступно в Microsoft Windows |
Юлия | Gtk.jl | да | да | Нет | Нет | Массачусетский технологический институт | Включает поддержку Glib |
JavaScript | Gjs | да | да | да | да | Массачусетский технологический институт | GNOME wiki , основанная на Mozilla SpiderMonkey |
Семя | да | да | да | да | LGPL-2.1 | Вики GNOME , основанная на JavaScriptCore WebKit | |
Lua | LGI | Частичное | да | да | Нет | Массачусетский технологический институт [9] | Динамическая привязка Lua к библиотекам GObject с помощью GObject-Introspection. |
лгоб | Нет | да | да | Нет | LGPL-3 | lgob предоставляет привязки библиотек на основе GObject для Lua 5.1. | |
Ним | Gintro | Нет | да | да | Нет | Массачусетский технологический институт | Высокоуровневые привязки GTK3 / GTK4 на основе GObject-Introspection для языка Nim |
OCaml | LablGtk | Частичное | Нет | Нет | Нет | LGPL-2.1 за исключением | Нет, поддерживается до 2.16 |
ooRexx | RexxGTK | Частичное | Нет | Нет | Нет | CPL | Да, 2.0 или новее |
Цель-C | CoreGTK | Нет | Частичное | Нет | Нет | LGPL-2.1 | |
ОбГТК | Частичное | Нет | Нет | Нет | LGPL-2.1 | ||
Objective-C GTK | Частичное | Нет | Нет | Нет | LGPL-2.1 | ||
Паскаль | Бесплатный пакет Pascal gtk | да | да | Нет | Нет | ЛГПЛ-3 за исключением | Поддерживается до 2.24, интегрировано в основной дистрибутив. Привязки Gtk 3.0 разрабатываются в проекте Lazarus-ccr. [10] |
Perl | Gtk2-Perl | да | да | да | да | LGPL-2.1 | |
PHP | PHP-GTK | Частичное | Частично [11] | Нет | Нет | LGPL-2.1 | PHP до 5.2, GTK - это GTK2 |
Пролог | PLGI | Частичное | да | да | Нет | LGPL-2.1 | Привязка динамического Пролога к библиотекам GObject с помощью GObject-Introspection. |
Python | pgi | Частичное | Частичное | да | Нет | LGPL-2.1 | Привязки самоанализа GObject для PyPy. |
pygir-ctypes | Частичное | Частичное | да | Нет | BSD | Оболочка репозитория GObject Introspection Repository (GIR) на чистом Python с использованием ctypes. | |
PyGObject | да | да | да | да | LGPL-2.1 | с 2.22 [12] | |
PyGTK | да | Нет | Нет | да | LGPL-2.1 | статические привязки, используйте PyGObject | |
р | RGtk2 | Частичное | Нет | Нет | Нет | GPL-2 | RGtk2.pdf |
Рубин | GirFFI-Gtk | Частичное | Частичное | да | Нет | LGPL-2.1 | Привязки на основе GirFFI для GTK. Поддерживает как GTK + 2, так и GTK + 3. |
Рубин-GNOME2 | Частичное | да | Нет | Нет | Лицензия MIT | Частично, поддерживается до 2.12, частично поддерживается с 2.14 [13] | |
Ржавчина | gtk-rs | Нет | да | да | Нет | Массачусетский технологический институт [14] | |
ги-ржавчина | Нет | да | да | Нет | LGPL-2.1 | ||
Болтовня | Привязки GNU Smalltalk GTK + | да | Нет | Нет | Нет | GPL-2 | |
Плагин Smalltalk YX GTK | да | Нет | Нет | Нет | Массачусетский технологический институт | ||
SqueakGtk | Частичное | Нет | Нет | Нет | Массачусетский технологический институт | ||
Tcl | Gnocl | да | Нет | Нет | Нет | BSD | |
Вала | Вала | да | да | да | да | LGPL-2.1 | язык, написанный для системы GObject |
Wrapl | Модуль Wrapl GTK + | Частичное | Нет | Нет | Нет | GPL-3 | Нет, но почти до 2,22 |
Смотрите также
- Список языковых привязок для Qt 4
- Список языковых привязок для Qt 5
- Список языковых привязок для wxWidgets
Рекомендации
- ^ «Языковые привязки» . Проект ГТК . Архивировано из оригинала на 2011-07-13 . Проверено 18 мая 2013 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Самоанализ GObject» .
- ^ http://docs.adacore.com/gtkada-docs/gtkada_ug/_build/html/intro.html
- ^ https://docs.adacore.com/gtkada-docs/gtkada_ug/_build/html/object_orient.html
- ^ https://www.mono-project.com/docs/gui/gtksharp/
- ^ «Лицензия GtkD LGPL-3 с дополнительными исключениями» .
- ^ "лицензия gtknode" .
- ^ "лицензия gotk3" .
- ^ «Лицензия LGI» .
- ^ http://wiki.freepascal.org/Gtk%2B3
- ^ Александр Перейра Бюлер (22.06.2015). «Внимание: создана ветка dev-php-gtk3» . Общий список рассылки PHP-GTK.
- ^ "История PyGObject" . Проверено 29 августа 2013 . CS1 maint: обескураженный параметр ( ссылка )
- ^ Команда проекта Ruby-GNOME2. "gtk3 / Rubygems" . Проверено 7 мая 2013 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Лицензия ГТК-рс» .