GNOME is a large and complex system, and thus requires some learning to use to the fullest. To make that easier, we've provided some very useful documentation.

GNOME開発者のひとりであるAlexander Larsson氏が、次期GNOME3とともに開発が進められているGTK3に興味深い機能を追加した。GTK3 HTML5バックエンドと呼ばれるもので、GTK3アプリケーションがブラウザの上で動作するように振る舞う。実際にはバックエンドで実行してレンダリングやイベント処理をブラウザとやりとりするというもの。すでに開発リポジトリに追加されており、開発者やユーザの反応を見て今後の対応を検討していきたい意向とみられる。

Gtk3 vs HTML5に掲載されたデモ動画より抜粋

Gtk3 vs HTML5に掲載されたデモ動画より抜粋

Gtk3 vs HTML5に掲載されたデモ動画より抜粋

Gtk3 vs HTML5に掲載されたデモ動画より抜粋

Gtk3 vs HTML5に掲載されたデモ動画より抜粋

Gtk3 vs HTML5に掲載されたデモ動画より抜粋

説明によれば、この機能はCanvasとWebSocketsの機能を使うことで実現されている。HTML5で導入される機能を使ってブラウザ内でレンダリングし、イベント処理やレンダリング情報をブラウザとGTK3 HTML5バックエンドとの間でやりとりすることを実現している。今のところFirefox 4開発版で動作しているとのことだが、HTML5に対応するすべてのブラウザで利用できるようになるとみられる。

  • トップレベルウィンドウはCanvasのレンダリングへマッピング。
  • ウィンドウ内のコンテンツはmultipart/x-mixed-replace XMLHttpRequestを使ったストリーミングを経由して取得したデータを使って更新。
  • 入力はDOMイベントを収集して、その結果をWebSocketsを使ってサーバ(GTK3 HTTP5バックエンド)へ送信。

Alexander Larsson氏のデモは2つの点で興味深い。ひとつは、GTK3を使って開発したアプリケーションをブラウザを通じてリモートから利用できるようになる可能性があるということ。もうひとつは、HTML5の仕様と実装がデスクトップアプリケーションのレンダリングを別の形で流用できるレベルに到達していることを示すサンプルになっているということ。GNOME3は2011年3月あたりには登場することになるとみられる。