Список языковых привязок 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 |
Примечания
- GTK+ Language Bindings (недоступная ссылка). The GTK+ Project. Дата обращения: 18 мая 2013. Архивировано 13 июля 2011 года.
- GObject Introspection .
- 1. Introduction: What is GtkAda ? — GtkAda 17.0w documentation
- http://ftp.gnome.org/pub/gnome/sources/gtk-sharp/2.99/gtk-sharp-2.99.2.news
- GtkD License LGPL-3 with additional exceptions .
- gtknode license .
- gotk3 license .
- LGI license .
- Gtk+3 - Free Pascal wiki
- Alexandre Pereira Bühler. Attention: created branch dev-php-gtk3 . PHP-GTK General Mailing List (22 июня 2015).
- PyGObject History . Дата обращения: 29 августа 2013.
- Ruby-GNOME2 Project Team. gtk3 / Rubygems . Дата обращения: 7 мая 2013.
Литература
- Andrew Krause. Language Bindings // Foundations of GTK+ Development. — Apress, 2007-09-09. — С. 9. — 639 с. — ISBN 9781430203865.
Ссылки
- The GTK+ Team. GTK+ Language Bindings (недоступная ссылка). www.gtk.org. Дата обращения: 16 марта 2016. Архивировано 13 июля 2011 года.
- Gtk : Language Bindings в каталоге ссылок Curlie (dmoz)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.