Список языковых привязок 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

См. также

Примечания

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

Литература

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.