2012-03-12 10 views
9

すべて私はWebkitをホストするためのいくつかのウィンドウまたは/およびカイロdrwaingが必要ですが、私は何をしているのかを最初に理解しなければなりません。GObject Gtk、Gnome、Gtk +、G1、Gtk2、Gtk3 ...わかりません。

私は迷っていて、それについては何も分かりません。

バインディングや何かの依存関係を把握しようとすると、状況が悪化します。例えば :(時々pyGl呼ば!!)Pythonで、PyGTKのは非推奨とpyGObjectに置き換え

多くのサイトは、多くのダウンロードやバージョン、混合時代遅れと新しい参照、全部のではなく、1建築ビューがあります

私が理解していないことは、これらのすべてがあまりにも多くのサイト、パッケージ、バージョンで互いにどのように混ざっているのでしょうか?

+1

これは私が閉じるために投票しています、本当の問題よりも暴言です。 PS。全体のアーキテクチャビュー:http://developer.gnome.org/platform-overview/stable/ – ptomato

+0

正確には、そして、gnomeはgtkと関係がありますか? gnomeはgtkなどを使用する「デスクトップ環境」ですか?私はそれをダウンロードすることができますから、 "グノームのプラットフォーム"と呼ばれるものがあれば、大丈夫ですか?あなたがこの質問に何か好きでないなら、それを編集してあなたの言葉で書き直すと感謝します。 – KA1

+0

@ptomato、もっと助けを求める叫び声。スタック*は驚異的なことがあります。 – ergosys

答えて

16

ショートストーリー:

あなたはGTK 2のためにプログラミングしている場合は、PyGTKをを使用しています。

GTK 3用にプログラミングする場合は、pyGObjectを使用してください。

長い話は:私が理解したものから

、PyGTKのはpyGObjectに基づいていました。 GObjectはGTKの「オブジェクト」APIです。 GTKはC言語で開発されています。これはオブジェクト指向言語ではありません。 GObjectは高度なオブジェクト指向のファシリティーを提供するライブラリです。すべてのGTKオブジェクトは、そのライブラリによって提供されるGObjectクラスを継承します。

次に、GObjectイントロスペクション作業が行われました。その目的は、バインディングのメンテナンスを容易にし、ソースコードの注釈を使用して各言語(Python、C++など)のバインディングコードのほとんどを自動的に生成することでした。これによりpyGIのPython側が生成されました。これはGObjectイントロスペクションの作業に基づくPythonバインディングです。 GTK3の開発にそれを使用するように人々に言われたのです。

それ以来、pyGIによって提供されたGObjectイントロスペクション作業はGObjectに統合されました。 pyGObjectは最終的に開発者がGTK3でのPython開発に使用するものになりました。

お読みください:

をGNOME/GTKの関係について:

GTKは、GNOMEプロジェクトで使用するツールキットです。これはGIMPから抽出されたもので、その名前(GTKはGIMP Tool Kitの略)です。 GTKはGNOMEプロジェクトの中核部分であり、GTK開発者はしばしばGNOMEプロジェクトにも関わっています。あなたが言及したこれらのコンポーネントの

11

私の理解:コアGNOMEライブラリが準拠のインターフェースとしてGIの

Dependency chain of the components mentioned in the question, in GNOME 2

Dependency chain of the components mentioned in the question, in GNOME 3

関連する問題