新しくなったこと 〜モバイル分野向け〜

GNOME 2.24 は GNOME モバイル向け開発プラットフォームの最初のリリースでもあります。GNOME モバイルの目的は、標準的なデスクトップのいろいろなコンポーネントを一つにまとめて、ディストリビュータや PDA のメーカーが充実した開発環境を構築するのに必要なプラットフォームを提供することです。

GNOME モバイルのプラットフォームは、例えば MaemoACCESS Linux PlatformLiMo reference platformUbuntu MobileMoblin、そして Poky などを含め非常に多くの Linux ベースなモバイル・デバイス向けプラットフォームに対して技術的な核に相当します。

最初のリリースセットには次のものが含まれています:

  • 核となるインフラ

    • GLib — C言語で柔軟性の高いライブラリやアプリケーションを記述する際に必要となる基本的なコンポーネントを提供します。GNOME の中で利用されているオブジェクト指向なフレームワークや、イベント駆動型のアプリケーションで利用するメイン・ループの実装、そして文字列や汎用的なデータ構造を扱う膨大なユーティリティ関数などを提供しています。
    • DBus — アプリケーション同士で通信を行いプロセスのライフタイムを調整するための簡単な方法を提供してくれるメッセージ・バス・システムの一つです。
  • システムのインフラ

    • BlueZ — GNOME 向けのグラフィカルなユーティリティをいろいろ含み、モジュール式で一式揃い、標準に準拠した Bluetooth のスタックです。
    • Evolution データ・サーバ (DBus ポーティング版) — ユーザの予定やタスク、アドレス帳に対してローカルのアクセス、またはよく利用されているネットワーク・プロトコルを介したアクセスなどを管理します。
    • Telepathy — インスタント・メッセンジャーの処理や Voice & Video over IP、そしてユーザ・レベルのアプリケーションに対して Point-To-Point 式のソケット (チューブ) を提供する (API 等が) 統一されたフレームワークです。
    • Avahi — ローカルのネットワーク上で zeroconf サービス・ディスカバリーを提供してくれるマルチキャスト式 DNS スタックです。
    • GStreamer — かなり充実した機能を持つマルチメディア向けのフレームワークで、音声や動画の再生やストリーミングといった比較的簡単なものから、映像のキャプチャやミキシング、非線形データ変換といった複雑な機能を提供しています。
    • SQLite — シンプルで、高機能なトランザクション式 SQL データベースで、アプリケーションの中に簡単に埋め込むことが可能になっています。
    • GConf — 設定情報を保存したり取り出したりすることができるサービスです。
    • Matchbox — デスクトップではない X11 の環境 (例えば携帯機器やセットトップ・ボックス、あるいは画面の解像度や入力方式、システムのリソースが制限されている環境) で使うウィンドウ・マネージャの一つです。
    • gioGVFS — FTP や SFTP (SSH)、WebDAV、NFS、SMB/CIFS を含むサービスをサポートする仮想ファイルシステムの API を提供しています。
  • ユーザ・インタフェース

    • GTK+ — 機能的に充実し、クロス・プラットフォーム対応のグラフィカル・ユーザ・インタフェースを使いやすい API として提供しているツールキットです。
    • Pango — 文字列を国際化を重視しながら配置したり描画するためのサービスを GTK+ に提供しています。
    • ATK (アクセシビリティ・ツールキット) — 全ての GTK+ ウィジェットでアクセシビリティの機能を利用できるようにします。これにより、アクセシビリティ専用ツールから GTK+ のアプリケーションのビューやコントロール (部品) にアクセスできるようになります。
    • Cairo — ハードウェア・アクセラレーションの恩恵を受けている間、全てのメディアで一貫した出力結果を提供するように設計された 2D ベクトル・グラフィクス・ライブラリです。Cairo では PostScript に似たシンプルな API が多数用意されています。
  • プログラミング言語のバインディング

    GNOME モバイルのプラットフォーム・ライブラリは全てネィティブなC言語の API、あるいは他の高水準プログラミング言語に精通した開発者にもなじみ深い慣用句を使い、ライブラリの全ての機能を提供する高品質な言語バインディングを使って利用できるようになっています。現在のところ、次の言語を完全サポートしています:

    • C言語
    • C++言語
    • Python

GNOME ではこれらのプラットフォームをサポートすると表明しました。そして Poky や Moblin、そして Ubuntu Mobile のように、GNOME モバイル 2.24 をベースにしたディストリビューションの仮想マシン向けイメージを作り、ダウンロードしたりテストできるようにする予定です。これを使って開発者は自分のプラットフォームをテストしたりアプリケーションを移植することができるようになります。