BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Pivot: Javaアプレットの再発明?

Pivot: Javaアプレットの再発明?

先日、Greg Brown氏はJavaの新しいオープンソースGUI(source)、Pivotを(サイト・英語)発表した

Java開発のコミュニティにPivotプラットフォームについて紹介します。Pivotは(サイト・英語)WEB、デスクトップのいずれにも簡単に配置することのできる高品質なクロスプラットフォームアプリケーションを作るためのオープンソースのフレームワークです。PivotはもともとVMWare社での研究開発の試みとして始まりました。そして今ではJavaによるリッチクライアントアプリケーションを開発したいと思う開発者にとっての選択肢としてJavaコミュニティが利用できるようになりました。

PivotはSwingのようなツールからいくつかのアイディアを流用している。と同時に過去数年間にJava2Dのパイプラインに施された改善ももちろん利用している。Pivotで構築されたアプリケーションはJavaとXMLの組み合わせで開発されることになる。


プラットフォームとしてのPivotは直接ブラウザに組み込めるリッチクライアントという意味でFlexやSilverlightと真っ向から対立する。Pivot開発者は消費者向けJREとして知られるJava 6 update 10が(source)そのプラットフォームの一部であると考えている。

2007年の3月、Greg Brown氏は自身のブログで'Reinvetnting the Applet(source)(アプレットの再開発)'を投稿している。その中で彼は当時開発中のアプレット技術のいくつかの不足点、そしてアプレットにもっと競争力を与えるために何を修正する必要があると考えているのかについて話題にしている。最近のPivotに関する発表はこの最初の記事に関する続報として投稿されている。現在彼は消費者向けJREをPivotが成功をおさめるための鍵となる要素であると述べている。このJREにはアプレット技術で開発されたあらゆる組み込みアプリケーションの成長する可能性に重要な役割を果たす多くの技術が含まれている。

  • Javaカーネル - JavaカーネルはJREのダウンロードサイズを劇的に削減する。
  • 次世代Javaプラグイン - 新しいJavaプラグインはブラウザとは別のプロセスで稼働する。これによりブラウザのロックアップ、クラッシュその他の処理の原則を避けられる。さらに起動時やその他の状態遷移時にユーザに分かりやすい応答を返す。
  • Java Deployment Toolkit - deployment toolkitは途切れることのないインストール/アップグレードを提供するのに欠かせない全てのAPIとブラウザとの調和を備える。これによってJavaのバージョンを限定することを容易にし、ユーザのアップグレードを助ける。
  • Java QuickStarter - quickstarterはJava VMの起動時間改善のために(他のものに混じって)OSのディスクキャッシュを利用する。
  • Direct3Dの統合 - WindowsユーザにとってDirect3Dのパイプラインに加えられた変更はJava2Dを利用したあらゆる物の描画パフォーマンスを改良するだろう。他のプラットフォームでは以前にOpenGLに対するJava2Dの徹底的な整備が行われている。
Java 6 update 10は現在ベータ版であり、今年後半に正式なリリースをする見込みである。

Pivotの発表が引き金となり、多くの肯定的や詮索的なコメントが寄せられた - Ben Galbraith氏は(source)多くの質問と合わせてたくさんの考えを示した。

あらためてあなたの作ったクラス達を見ています。高いレベルから見たときにそのアーキテクチャがとてもSwingに似ているかということに興味があります。コンポーネントの満たすべき契約、UIの委譲、リスナ、など。これらはかなり似ています(例えば、レイアウトの動作方法はとても似ています)。"Swingの進化版"を目指していたのですか。

私がSwingで気になっていたところを少しだけ改善してくれました。

  • 幅と高さを別々のあるいは細分化されたプロパティとして扱うことを選択した
  • ラベルのラッピング(ラベルのテキスト整形には対応していますか?そうは見えませんが)
  • 行ベースの表形式データモデル
  • 組み込みの"form"構造体
いくつかの質問を付け加えます
  • いったいなぜ独自のコレクションクラス群を作成したのでしょう?まったく、なぜなんでしょう?
  • SwingのUIDefaultsに相当するものがありますか?
  • なぜActionインタフェースの外部に状態を置いているのでしょう?動作の状態を共有するためにSwingのActionインタフェースに相当するものがありますか?
  • レイアウトを管理するものが見当たりません。どうやってレイアウトを扱ってるのでしょうか?チュートリアルによればスキンがレイアウトを管理することになっていますが、特にそのような契約は見当たりません(Containerに組み込まれているメソッド以外には)

Pivotアプレットの試用可能なデモが(source)公開されている。同様に作成中のチュートリアル(source)もある。さらなるPivotに関する情報はPivotの(サイト・英語)ホームページとGreg Brown氏のブログに(source)ある。

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

この記事に星をつける

おすすめ度
スタイル

BT