GTKの言語バインディング一覧

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

言語名前サポートされていますか?ライセンス注記
2.243.124.0GIR公式
AdaGtkAda部分的部分的はいいいえGPL-33.14までサポートされています。[3] [4]
CGTKはいはいはいはいLGPL-2.1ネイティブなので、バインディングは不要です
C++gtkmmはいはいはいいいえはいLGPL-2.1
C#およびその他のCLI言語Gtk#部分的いいえいいえはいLGPL-2.1GTK 2のサポートは2.12まで利用可能です。[5]
GtkSharpいいえはいいいえいいえいいえLGPL-2.1GTK 3のサポートは3.22まで利用可能です。
Gir.Core部分的部分的いいえMIT
クリスタルcrystal-gobjectいいえはい部分的はいいいえBSD
gtk4.crいいえいいえはいはいいいえMIT
DGtkDはいはいはいいいえLGPL-3(例外あり)[6]2.12以降でサポートされています
Erlanggtknode部分的いいえいいえいいえMIT [7]いいえ、2.16まで部分的にサポートされています
Fortrangtk-fortran部分的部分的部分的いいえいいえGPL-32.24以降でサポートされています。GTK 3とGTK 4をサポートしています
FreeBASICFreeBASIC GTKバインディングはい部分的いいえいいえLGPL-3(例外あり)3.4 までサポートされ、2.8 以降はコア ディストリビューションに統合されています。
GambasGambas gb.gtkコンポーネントはい部分的いいえいいえGPL-2主要なQtコンポーネント の二次コンポーネント
ジーニージーニーはいはいはいはいはいLGPL-2.1GObjectシステム用に書かれた言語
Gogo-gir-generatorはいいいえGPL-3
gotk3いいえ部分的いいえいいえISC [8]
Guile狡猾なノーム部分的いいえいいえいいえGPL-22.12までサポート、2.14では部分的にサポート
HaskellGtk2Hsはい部分的いいえいいえLGPL-2.1Gtk2Hsは、GTK/GNOMEプラットフォームに含まれる多くのライブラリへのHaskellバインディングのセットです
haskell-giいいえはいはいはいいいえLGPL-2.1GObject Introspection 対応ライブラリの Haskell バインディングを生成する
JJ GTKアドオン部分的いいえいいえいいえGPL-3
Javaおよびその他のJVM言語Java-Gnomeはいはいいいえいいえはい例外ありのGPL-2Microsoft Windowsでは利用できません
JuliaGtk4.jlはいはいはいいいえいいえMITGlibサポートを含む
JavaScriptGjsはいはいはいはいはいMITMozillaのSpiderMonkeyをベースにしたGNOME wiki
Node-Gtkいいえはい部分的はいいいえMITGObject-Introspectionを使用したGObjectライブラリへの動的Node.jsバインディング
シードはいはいはいはいLGPL-2.1WebKitのJavaScriptCoreをベースにしたGNOME wiki
Kotlin/ネイティブgtk-ktいいえ部分的部分的部分的いいえAGPL-3.0開発中のため部分的に使用可能です
gtk-knいいえいいえいいえ部分的いいえLGPL-3開発中のため部分的に使用可能です
LuaLGI部分的はいはいはいいいえMIT [9]GObject-Introspection を使用して GObject ライブラリに動的 Lua をバインディングします。
lgobいいえはいはいいいえLGPL-3lgobは、Lua 5.1用のGObjectベースのライブラリのバインディングを提供します。
NimジントロいいえはいはいはいいいえMITNim言語用の高レベルGObjectイントロスペクションベースのGTK3/GTK4バインディング
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
PascalフリーのPascal GTKパッケージはいはいいいえいいえLGPL-3(例外あり)2.24までサポートされ、コアディストリビューションに統合されています。Gtk 3.0バインディングはLazarus-ccrプロジェクトで開発されています。[10]
PerlGTK2-PerlはいはいいいえはいはいLGPL-2.1
PHPPHP-GTK部分的部分的[11]いいえいいえLGPL-2.1PHP 5.2 までは、GTK は GTK2 です
PrologPLGI部分的はいはいいいえLGPL-2.1GObjectイントロスペクションを使用したGObjectライブラリへの動的Prologバインディング
Pythonpgi部分的部分的はいいいえLGPL-2.1PyPy用GObjectイントロスペクションバインディング
pygir-ctypes部分的部分的はいいいえBSDctypesを使用したPure Python GObjectイントロスペクションリポジトリ(GIR)ラッパー。
PyGObjectはいはいはいはいはいLGPL-2.12.22以降[12]
PyGTKはいいいえいいえいいえはいLGPL-2.1静的バインディングにはPyGObjectを使用してください
RRGtk2部分的いいえいいえいいえGPL-2RGtk2.pdf 2016年3月9日アーカイブ、Wayback Machineにて
ラケットガールはいいいえMIT [13]
RubyGirFFI-Gtk部分的部分的はいいいえLGPL-2.1GirFFIベースのGTKバインディング。GTK+ 2とGTK+ 3の両方をサポートします
Ruby-GNOME2 2008年8月21日、Wayback Machineにアーカイブ部分的はいはいいいえいいえMITライセンス部分的にサポート、2.12までサポート、2.14以降は部分的にサポート[14]
Rustgtk-rsいいえはいはいはいいいえMIT [15]
いいえはいはいいいえLGPL-2.1
SmalltalkGNU Smalltalk GTK+バインディングはいいいえいいえいいえGPL-2
Smalltalk YX GTKプラグインはいいいえいいえいいえMIT
SqueakGtk部分的いいえいいえいいえMIT
標準MLキリンライブラリいいえはいはいいいえLGPL-2.1
TclGnoclはいいいえいいえいいえBSD
ValaValaはいはいはいはいはいLGPL-2.1GObjectシステム用に書かれた言語
WraplWrapl GTK+モジュール部分的いいえいいえいいえGPL-3いいえ、2.22までほぼ満タンです

Gtk#

Gtk#
開発者Xamarin
初回リリース2004年3月12日; 21年前 ( 2004-03-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劣等一般公衆利用許諾契約書
ウェブサイト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. ^ 「言語バインディング」。GTKプロジェクト。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メンテナンス:数値名:著者リスト(リンク
  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」から取得