GTKの言語バインディングのリスト

下の表に示すように、GTKには様々なプログラミング言語[1]向けのバインディングが用意されており、GTKの機能セットの一部またはすべてを実装しています。GTK 2は現在サポートされていないため、以下の言語の中にはGTKを現在サポートしていないものもあります。

言語名前サポートされていますか?ライセンス注記
2.243.124.0ガー正式
エイダGtkAda部分的部分的?はいいいえGPL-33.14までサポートされています。[3] [4]
CGTKはいはいはいはいLGPL-2.1ネイティブなので、バインディングは必要ありません。
C++gtkmmはいはいはいいいえはいLGPL-2.1
C#およびその他のCLI言語Gtk#部分的いいえ?いいえはいLGPL-2.1GTK 2のサポートは2.12まで利用可能です。[5]
GtkシャープいいえはいいいえいいえいいえLGPL-2.1GTK 3 のサポートは 3.22 まで利用可能です。
ガールコア??部分的部分的いいえマサチューセッツ工科大学
結晶クリスタルオブジェクトいいえはい部分的はいいいえBSD
gtk4.crいいえいいえはいはいいいえマサチューセッツ工科大学
DGtkDはいはい?はいいいえLGPL-3(例外あり)[6]2.12以降でサポート
アーランgtkノード部分的いいえ?いいえいいえマサチューセッツ工科大学[7]いいえ、2.16まで部分的にサポートされています
フォートランgtk-fortran部分的部分的部分的いいえいいえGPL-32.24 以降でサポートされています。GTK 3 および GTK 4 をサポートします。
フリーベーシックFreeBASIC GTKバインディングはい部分的?いいえいいえLGPL-3(例外あり)3.4 までサポートされ、2.8 以降はコア ディストリビューションに統合されています。
ガンバスGambas gb.gtk コンポーネントはい部分的?いいえいいえGPL-2主要なQtコンポーネント の二次
魔神魔神はいはいはいはいはいLGPL-2.1GObjectシステム用に書かれた言語
行くgo-gir-ジェネレータ???はいいいえGPL-3
gotk3いいえ部分的?いいえいいえISC [8]
狡猾さ狡猾なノーム部分的いいえ?いいえいいえGPL-22.12 までサポート、2.14 では部分的にサポート
ハスケルGtk2Hsはい部分的?いいえいいえLGPL-2.1Gtk2Hs は、GTK/GNOME プラットフォームに含まれる多くのライブラリへの Haskell バインディングのセットです。
haskell-giいいえはいはいはいいいえLGPL-2.1GObject Introspection 対応ライブラリの Haskell バインディングを生成する
JJ GTKアドオン部分的いいえ?いいえいいえGPL-3
Javaおよびその他のJVM言語java-gnomeはいはいいいえいいえはいGPL-2(例外あり)Microsoft Windowsでは利用できません
ジュリアGtk4.jlはいはいはいいいえいいえマサチューセッツ工科大学Glibサポートを含む
JavaScriptGjsはいはいはいはいはいマサチューセッツ工科大学Mozilla のSpiderMonkeyをベースにした GNOME wiki
ノードGtkいいえはい部分的はいいいえマサチューセッツ工科大学GObject-Introspection を使用して GObject ライブラリにバインドする動的 Node.js。
シードはいはい?はいはいLGPL-2.1WebKit のJavaScriptCoreをベースにした GNOME wiki
Kotlin/ネイティブgtk-ktいいえ部分的部分的部分的いいえAGPL-3.0開発中のため部分的には使用可能です。
gtk-knいいえいいえいいえ部分的いいえLGPL-3開発中のため部分的には使用可能です。
ルアLGI部分的はいはいはいいいえマサチューセッツ工科大学[9]GObject-Introspection を使用して GObject ライブラリに動的 Lua をバインディングします。
lgobいいえはい?はいいいえLGPL-3lgob は、Lua 5.1 用の GObject ベースのライブラリのバインディングを提供します。
ニムジントロいいえはいはいはいいいえマサチューセッツ工科大学Nim 言語用の高レベル GObject-Introspection ベースの GTK3/GTK4 バインディング
OCamlラボGtk部分的部分的?いいえいいえLGPL-2.1(例外あり)いいえ、2.16までサポートされています
ウーレックスレックスGTK部分的いいえ?いいえいいえCPLはい、2.0以降
Objective-CコアGTKいいえ部分的?いいえいいえLGPL-2.1
オブGTK部分的いいえ?いいえいいえLGPL-2.1
Objective-C GTK部分的いいえ?いいえいいえLGPL-2.1
パスカルフリーのPascal GTKパッケージはいはい?いいえいいえLGPL-3(例外あり)2.24までサポートされ、コアディストリビューションに統合されています。Gtk 3.0バインディングはLazarus-ccrプロジェクトで開発されています。[10]
パールGtk2-PerlはいはいいいえはいはいLGPL-2.1
PHPPHP-GTK部分的部分的[11]?いいえいいえLGPL-2.1PHP 5.2 までは、GTK は GTK2 です
プロローグPLGI部分的はい?はいいいえLGPL-2.1GObject-Introspection を使用して GObject ライブラリにバインドする動的 Prolog。
パイソンpgi部分的部分的?はいいいえLGPL-2.1PyPy 用の GObject イントロスペクション バインディング。
pygir-ctypes部分的部分的?はいいいえBSDctypes を使用した純粋な Python GObject Introspection Repository (GIR) ラッパー。
PyGオブジェクトはいはいはいはいはいLGPL-2.12.22以降[12]
ピグトゥックはいいいえいいえいいえはいLGPL-2.1静的バインディングではPyGObjectを使用する
RRGtk2部分的いいえ?いいえいいえGPL-2RGtk2.pdf 2016年3月9日アーカイブWayback Machine
ラケット女の子???はいいいえマサチューセッツ工科大学[13]
ルビーGirFFI-Gtk部分的部分的?はいいいえLGPL-2.1GTK 用の GirFFI ベースのバインディング。GTK+ 2 と GTK+ 3 の両方をサポートします。
Ruby-GNOME2 2008年8月21日アーカイブ - Wayback Machine部分的はいはいいいえいいえMITライセンス部分的にサポート、2.12までサポート、2.14以降は部分的にサポート[14]
さびgtk-rsいいえはいはいはいいいえマサチューセッツ工科大学[15]
ギラストいいえはい?はいいいえLGPL-2.1
雑談GNU Smalltalk GTK+バインディングはいいいえ?いいえいいえGPL-2
Smalltalk YX GTKプラグインはいいいえ?いいえいいえマサチューセッツ工科大学
スクイークGtk部分的いいえ?いいえいいえマサチューセッツ工科大学
標準MLキリン図書館いいえはい?はいいいえLGPL-2.1
Tclグノクルはいいいえ?いいえいいえBSD
ヴァラヴァラはいはいはいはいはいLGPL-2.1GObjectシステム用に書かれた言語
ラップルWrapl GTK+モジュール部分的いいえ?いいえいいえGPL-3いいえ、2.22までほぼ満タンです

Gtk#

Gtk#
開発者ザマリン
初回リリース2004年3月12日; 21年前 (2004年3月12日
安定版リリース
2.12.41 [16] / 2016年9月22日; 9年前 ( 2016年9月22日)
プレビューリリース
2.99.3 (GTK3用) [16] / 2014年6月6日; 11年前 (2014年6月6日
リポジトリgithub.com/mono/gtk-sharp
書かれたC#XMLPerlC
オペレーティング·システムWindowsmacOSLinux
タイプウィジェットツールキット
ライセンスGNU劣等一般公衆利用許諾書
Webサイトmono-project.com/GtkSharp

Gtk#は、 GTKグラフィカルユーザーインターフェース(GUI)ツールキットと各種GNOMEライブラリのための.NET Frameworkバインディングのセットです。このライブラリは、 Monoやその他の準拠した共通言語ランタイム(CLR)を用いたグラフィカルGNOMEアプリケーションの構築を容易にします。Gtk #は他の現代的なウィンドウライブラリと同様にイベント駆動型システムであり、すべてのウィジェットにハンドラーメソッドを関連付けることができ、特定のイベントが発生したときに呼び出されます。[要出典]

Gtk#を使用して構築されたアプリケーションは、LinuxWindowsmacOSなど、多くのプラットフォームで動作します。Windows用のMonoパッケージには、GTK、Gtk#、そしてネイティブWindowsアプリケーションのように見えるようにするためのネイティブテーマが含まれています。Mono 1.9以降、macOSでGtk#アプリケーションを実行するためにX11サーバーを実行する必要がなくなりました。[17]

Glade Interface Designerは、 Glade#バインディングと併用することで、GUIアプリケーションを簡単に設計できます。SteticというGUIデザイナーは、MonoDevelop統合 開発環境(IDE)に統合されています

gtk-dotnet.dllアセンブリは、開発ツールの標準GTK/GNOMEスタックのサポートに加えて、.NETスタックで利用可能な機能を利用するためのブリッジを提供します。現時点では、System.Drawingを使用してウィジェットに描画する機能も含まれています。[要出典]

2020年9月現在、Gtk#によるGtk3のサポートはプレビュー段階にあり、GtkSharpなどのフォークプロジェクトが設立され、C#やその他のCLI言語で完全なGtk3サポートを提供しています。Gtk3をサポートするGtk#のリリース版が存在しないことが、 Ubuntu 12.04でBansheeメディアプレーヤーが削除された理由の一つとなっています。[18]

参照

参考文献

  1. ^ “Language Bindings”. The GTK Project. 2011年7月13日時点のオリジナルよりアーカイブ。 2013年5月18日閲覧
  2. ^ 「GObject イントロスペクション」。
  3. ^ 「1. はじめに: GtkAda とは何ですか? — GtkAda 22.0w ドキュメント」。
  4. ^ 「10. オブジェクト指向機能 — GtkAda 22.0w ドキュメント」
  5. ^ 「GtkSharp | Mono」。
  6. ^ 「GtkDライセンス LGPL-3(追加例外あり)」GitHub。2021年11月19日。
  7. ^ “gtknodeライセンス”. GitHub . 2021年3月11日.
  8. ^ “gotk3 ライセンス”. GitHub . 2021年8月17日.
  9. ^ 「LGIライセンス」. GitHub。 2021年11月20日。
  10. ^ “Gtk+3 - Lazarus wiki”. wiki.freepascal.org . 2025年9月19日閲覧
  11. ^ Alexandre Pereira Bühler (2015-06-22). 「注意: dev-php-gtk3 ブランチを作成しました」. PHP-GTK 一般メーリングリスト.
  12. ^ 「PyGObjectの歴史」 。 2013年8月29日閲覧
  13. ^ “1. メインインターフェース”. GitHub . 2022年2月6日.
  14. ^ Ruby-GNOME2プロジェクトチーム. 「gtk3 / Rubygems」. 2013年5月7日閲覧。{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク)
  15. ^ “GTK-rsライセンス”. GitHub . 2021年11月17日.
  16. ^ ab 「Gtk# は、クロスプラットフォームの Gtk+ GUI ツールキットへの Mono/.NET バインディングであり、Mono で構築されたほとんどの GUI アプリの基盤です: mono/gtk-sharp」。2019年11月16日。2016年3月11日時点のオリジナルよりアーカイブ2016年9月1日閲覧– GitHub経由。
  17. ^ “Download Gtk#”. The GTK+ Project. 2013年12月14日時点のオリジナルよりアーカイブ2014年12月23日閲覧。
  18. ^ 「『Bansheegeddon』でBansheeとMonoがUbuntuのデフォルトから削除される可能性」ITWorld . 2015年7月10日時点のオリジナルよりアーカイブ。 2015年8月31日閲覧
「https://en.wikipedia.org/w/index.php?title=List_of_language_bindings_for_GTK&oldid=1317974802」から取得