BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース WidgetFX:JavaFXで記述したデスクトップ・ウィジェット・プラットフォーム

WidgetFX:JavaFXで記述したデスクトップ・ウィジェット・プラットフォーム

WidgetFX(リンク)はJavaFX Script言語で記述されたオープンソースのデスクトップ・ウィジェット・プラットフォームである。Java Consumer JRE(参考記事)の最新機能を活用し、Windows XP/Vista、Linux、Mac OS Xなど、すべての主要プラットフォームで動作する。

他のウィジェットコンテナと比較して、WidgetFXは複数のメリットを謳っている(リンク)

  • オープンソース -- WidgetFXは100%オープンソースのウィジェットコンテナである(ウィジェット自体の商業ライセンスは可能)
  • クロス・プラットフォームのサポート -- ウィジェットのフレームワークは過多と言えるほど出回っているが、すべて互換性がなく、真にクロス・プラットフォームと言えるものはひとつもない。 WidgetFXはWindows XP/Vista、Linux、Mac OS Xなど、すべての主要プラットフォームで動作する。
  • 堅牢な機密保護モデル -- Web技術のウィジェットへの移行により、大きなセキュリティホールが開き、Javascriptベースのウィジェットフレームワークに共通した問題となっている。対照的にWidgetFXには、Javaプラットフォームの安全なサンドボックスを活用した堅牢な機密保護モデルが備わっている(リリース0.2で計画)。
  • リッチ・デスクトップアプリケーション -- ほとんどのウィジェットコンテナは、HTMLやCSS、Javascriptのような旧式のWeb技術をデスクトップにポートしており、RIAの機能性を活用できていない。対照的にWidgetFXは、ビジュアルやアニメーション、メディアの非常に豊かなライブラリを提供することにより、リッチ・デスクトップアプリケーション(RDA)動作のフロントエンドにくるように設計されている。

WidgetFXのデプロイメントオプションも、既存のJavaデプロイメントオプションとは異なっている(リンク)(アプレット /Web Start)。

  • 低メモリフットプリント - アプレットはブラウザ内でひとつのVMを共有できるが、デスクトップにドラッグして「web-startifiedした」途端に、共有できなくなる。ウィジェットが多数あれば、多くのメモリを占領するようになり、JVM起動時間も長くなる。
  • 起動時に開く - ウィジェットコンテナは、ブート時に自動的に起動し、終了時に開いていたあらゆるウィジェットを起動する。web-startのアプリケーションにフックを追加して、単一のアプリケーションでこれを実現することはできるが、起動時にはウィジェットがすでに出ている、とユーザーに「期待させる」ほど、シームレスではない。.
  • ウィジェットについての議論 - ウィジェットは主流になってきており、デスクトップアプリケーションに相当するかもしれないが、長きにわたって提供され続けるものがなければ、Javaがこの分野で一人前の参加者と見なされることはないであろう。この件に関しては、w3cのWidget Landscape(ウィジェット展望)報告書が、おそらくは最大の嫌みを言っているだろう。:
    • 「3.2 Javaアプレットからの相違 … 論じられている最も顕著な相違は、作成者にとってはJavaアプレットよりもウィジェットの方が容易に作成できることである。… アプレットはWebページ内で動作することを意図しているが、この文書で説明しているウィジェットは一般に、Webブラウザの外で動作するスタンドアロンのアプリケーションの役割を果たす。」
    • WidgetFXは、ウィジェットのオーサリングを単純化するJavaFX Script言語や、WidgetFXのウィジェットを標準のJavaアプレットから切り離して設定するデスクトップ統合機能を介して、こうした問題に直接対処する

InfoQに連絡してきたWidgetFXの開発者Stephen Chin氏は、自身の構想を次のように語っている。

WidgetFX 0.1のリリースは、新規のデスクトップウィジェットのオーサリングに興味を持っている開発者を対象としています。ウィジェットはJavaFX ScriptとJavaを組み合わせて記述し、グラフィックやアニメーション、メディアの機能を生かす非常にリッチなプラットフォームを活用できます。開発を単純化するために、WidgetFX SDKには軽量のWidget Runner、完全なAPIドキュメンテーション、Getting Startedチュートリアルが同梱されます。0.1 WidgetFX DockとDeveloper SDKは、http://widgetfx.org/ (リンク) からダウンロードできます。 

時計やスライドショー、Webフィードといった、頻繁に使用する軽量のアプリケーションをデプロイする方法として、ウィジェットエンジンの人気がますます高くなっています。WidgetFXはデスクトップウィジェット向けの完全機能のドッキングシステムであり、半透明性、形状指定ウインドウ、サイズ変更、コンフィギュレーション、ワンクリックインストレーションをサポートしています。他の独自開発製品とは異なり、WidgetFX はJavaFX Scriptを使ってゼロから記述した100%オープンソースのソフトウェアであり、Windows XP/Vista、 Linux、Mac OS Xなど、Javaをサポートするあらゆるプラットフォームで動作可能です。

Joshua Marinacci氏が説明するように、WidgetFXはAB5k(別名Glossitope)のコードベースを基にしている(リンク)

あまりにも忙しくて、自分で始めたオープンソースプロジェクトを完了できなくなると、いつも嫌になります。 その一方で、私の思い付きを気に入ってくれた人が、自分ならもっと良くできると感じて、実際良くしてくれると、本当に嬉しくなります。その一例が、AB5k、別名Glossitopeで、Javaのための新しいウィジェットシステムとしても知られています。およそ2年前に開始したのですが、JavaOne 2007では自慢して披露しました。悲しいかな、私がJavaFXに取り組み始めた矢先に、AB5kは技術的な困難に遭遇し、時間を取られるようになったのです。そういうわけで、プロジェクトは死に、ドメインは消え失せたのです。それとも…? 

今年に入ってから、AB5kコードベースに関するEメールがStephen Chinから届いたのですが、その内容は、プロジェクトが進行中か尋ねるものでした。私はノーと答えたのですが、続きをやろうと思ってくれる人がいるなら、コードを使っていい、と伝えました。また、私が格闘していた多数の問題(透明なウインドウやコンポーネントの仮想化など)をJavaFXがすでに解決してくれていたので、ストレートなJavaではなく、JavaFXを使うようにも勧めました。Stephenはこんなふうにして、新プロジェクト「WidgetFX: The JavaFX Desktop Widget Platform」(リンク)を始めたのです。

プロジェクトはまだ初期段階ですが、JavaFXで構築されているので、スタート直後からかなり好調のようです。

WidgetFXは短いチュートリアルが読めるし(リンク)、最新版もダウンロードできる(ZIP)

RIAについてさらに知りたければ、http://www.infoq.com/jp/riaをご覧あれ。

原文はこちらです:   http://www.infoq.com/news/2008/09/widgetfx

この記事に星をつける

おすすめ度
スタイル

BT