下の表に示すように、GTKにはさまざまな言語[1]用のバインディングがあり、その機能セットの一部またはすべてを実装しています。GTK 2はサポートされなくなったため、以下の言語の中には現在GTKをサポートしていないものもあります。
- GObject (GOB) は当初 GTK の中心的なコンポーネントとして作成されましたが、GLibにアウトソーシングされました。
- GObjectイントロスペクションは、Cライブラリ(GObjectを使用)と言語バインディング間のミドルウェア層です。たとえば、PyGObjectはこれを使用しますが、PyGTKは使用しません。[2]
- 公式GNOMEバインディングは、API の安定性と時間ベースのリリースを保証する GNOME リリース スケジュールに従います。
- Glade インターフェースデザイナー
Gtk#
![]() | |
| 開発者 | ザマリン |
|---|---|
| 初回リリース | 2004年3月12日 |
| 安定リリース | 2.12.41 [16]
/ 2016年9月22日 |
| プレビューリリース | 2.99.3 (GTK3用) [16]
/ 2014年6月6日 |
| リポジトリ | https://github.com/mono/gtk-sharp |
| 書かれた | C#、XML、Perl、C |
| オペレーティング·システム | Windows、macOS、Linux 対応 |
| タイプ | ウィジェットツールキット |
| ライセンス | GNU 劣等一般公衆利用許諾書 |
| Webサイト | mono-project.com/GtkSharp |
Gtk# は、 GTKグラフィカル ユーザー インターフェイス(GUI)ツールキットと各種GNOMEライブラリ用の.NET Frameworkバインディングのセットです。このライブラリは、 Monoまたはその他の準拠した共通言語ランタイム(CLR)を使用してグラフィカル GNOME アプリケーションを構築するのを容易にします。Gtk# は、他の最新のウィンドウ ライブラリと同様にイベント駆動型システムであり、すべてのウィジェットでハンドラーメソッドを関連付けることができ、特定のイベントが発生したときに呼び出されます。[引用が必要]
Gtk#を使用して構築されたアプリケーションは、 Linux、Windows、macOSを含む多くのプラットフォームで動作します。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月現在[アップデート]、Gtk3に対するGtk#のサポートはプレビュー段階のままであり、C#やその他のCLI言語に対する完全なGtk3サポートを提供するために、GtkSharpなどのフォークプロジェクトが設立されています。Gtk3をサポートするGtk#のリリースバージョンが不足していることが、 Ubuntu 12.04でBansheeメディアプレーヤーを削除する理由として挙げられました。[18]
参照
参考文献
- ^ 「言語バインディング」。GTKプロジェクト。2011 年 7 月 13 日時点のオリジナルよりアーカイブ。2013 年 5 月 18 日閲覧。
- ^ 「GObject イントロスペクション」。
- ^ 「1. はじめに: GtkAda とは何か? — GtkAda 22.0w ドキュメント」
- ^ 「10. オブジェクト指向機能 — GtkAda 22.0w ドキュメント」。
- ^ 「GtkSharp | Mono」.
- ^ 「GtkD ライセンス LGPL-3(追加例外あり)」。GitHub。2021年 11 月 19 日。
- ^ 「gtknode ライセンス」。GitHub。2021年3月11日。
- ^ 「gotk3 ライセンス」。GitHub。2021年8月17日。
- ^ 「LGIライセンス」. GitHub。 2021年11月20日。
- ^ http://wiki.freepascal.org/Gtk%2B3
- ^ Alexandre Pereira Bühler (2015-06-22). 「注意: dev-php-gtk3 ブランチを作成しました」。PHP-GTK 一般メーリング リスト。
- ^ 「PyGObject の歴史」。2013 年 8 月 29 日閲覧。
- ^ 「1. メインインターフェース」。GitHub 。 2022年2月6日。
- ^ Ruby-GNOME2 プロジェクト チーム。「gtk3 / Rubygems」 。2013年 5 月 7 日閲覧。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ 「GTK-rs ライセンス」。GitHub 。 2021年11月17日。
- ^ ab 「Gtk# は、クロスプラットフォームの Gtk+ GUI ツールキットへの Mono/.NET バインディングであり、Mono で構築されたほとんどの GUI アプリの基盤です: mono/gtk-sharp」。2019 年 11 月 16 日。2016 年 3 月 11 日時点のオリジナルよりアーカイブ。2016年9 月 1 日に取得– GitHub 経由。
- ^ 「Download Gtk#」。GTK+ プロジェクト。2013 年 12 月 14 日時点のオリジナルよりアーカイブ。2014 年12 月 23 日閲覧。
- ^ 「『Bansheegeddon』でBansheeとMonoがUbuntuのデフォルトから削除される可能性」ITWorld。2015年7月10日時点のオリジナルよりアーカイブ。2015年8月31日閲覧。

