新しくなったこと 〜開発者向け〜

次に示す内容は GNOME 2.30 のプラットフォームを利用する開発者には知っておいてもらいたい重要な変更点です。この内容に特に興味がないのであれば、このセクションを飛ばして次の「セクション 6 - 国際化」をご覧下さい。

この GNOME 2.30 はデスクトップだけではなく開発者向けのプラットフォームとしてもまた最新版です。GNU LGPL の下で利用できる API や ABI が安定した一連のライブラリは、クロス・プラットフォームのアプリケーション開発に利用できます。

非推奨のライブラリの利用

GNOME 3.0 から、非推奨な (Deprecated) さまざまな GNOME のパーツが削除されます。対象となるコンポーネントには libart_lgpllibbonobolibbonobouilibgladelibgnomelibgnomecanvaslibgnomeprintlibgnomeprintuilibgnomeuilibgnomevfs といったライブラリが含まれています。GNOME デスクトップの一部として提供されているアプリケーションに対しては「整理すべき項目の一覧」に従って、廃止になったコードの使用を無くしていく予定です。これにより GNOME 3.0 へのスムーズな移行を実現します。

開発者は自分のアプリケーションについて、このルールに従うことが強く求められています。なお、 この作業に関して何か手伝いたいと考えている開発者 (または挑戦してみたいと考えている開発者) のために、GNOME goals の Wiki には未だ完了していない作業の一覧が用意されています。jhbuld ビルド・ツールでサポートされているモジュールについては、残っている作業の概要が自動生成・更新されており、ここで見ることができます。

5.1. プラットホーム・クリーンナップ

GNOME 3.0 に向けて、非推奨のモジュールや機能を削除する大きな努力が成されてきました。

また、多くのアプリケーションで GTK+ や GLib の非推奨のシンボルの使用を取り止めました。GTK+ や GLib のトップレベルのヘッダのみを include するという新しいポリシーを適用しました。

5.2. GTK+ 2.20

GTK+ のバージョン 2.20 は GTK+ ツールキット・ライブラリの最新版で、GNOME のプラットフォームの「心臓部」に相当します。GTK+ 2.20 には、次期バージョンの GTK+ 3.0 に向けたコードの整理や、大規模なバグの修正、開発者向けの新しい機能が含まれています。

GTK+ には以下を含む他の多くの改善点があります:

  • スロッバーウィジェット GtkSpinner と、セルレンダラ GtkCellRendererSpinner が追加されました。
  • GtkToolPalette はツールアイテムを折りたたみ可能なグループとして表示する新しいコンテナです。
  • GtkNotebook に次のタブに移動するアクションウィジェットを含めることができます。

5.3. Empathy

libempathylibempathy-gtk は削除されました。開発者は telepathy-glib を代わりに使ってください。

5.4. Anjuta

Anjuta のコード補完機能が改良され、C や C++ の .->:: なども補完されるようになりました。

コード補完は今や完全に非同期に動作するようになり、タイプするのに邪魔になることがありません。

Anjuta ではシンボルマネージャで Vala のシンボルをサポートするようになりました。コードの補完やデバッグ、ビルドなど JavaScript のフルサポートも行うようになりました。automake を使わないプロジェクトも簡単ながらサポートするようになりました。

5.5. GNOME プラットフォームの改善点

GNOME 2.30 での他の GNOME プラットフォームの改善点:

  • EvolutionEvolution-Data-Server は GNOME 3.0 に向けて、Bonobo を完全に削除しました。Evolution-Data-Server は同じクライアント側の API の後ろで D-Bus を使うようになりました。
  • Brasero では libbrasero-medialibbrasero-burn で GObject-introspection をサポートするようになりました。
  • GNOME 拡大鏡 gnome-mag は Bonobo のサポートが非推奨になったため、D-Bus をサポートするようになりました。
  • Devhelp にフルスクリーンモードが追加されました。また、ローカルでシンボルが発見できない場合、library.gnome.org を見にいくようになりました。
  • GLib にストリーミングデータを変換する汎用的なインターフェイスである GConverter を追加しました。g_type_init() が呼ばれた時にスレッドが自動的に有効になるようになりました。
  • gnome-keyring が新しく「シークレットサービス」を実装しました。デスクトップ横断的なパスワードストレージのための D-Bus API です。