【レポート】

JavaOne Tokyo 2005 - MustangでJavaのデスクトップ機能はどう進化する?

 

Sun Microsystemsは8日から10日までの3日間、東京国際フォーラムにおいてJavaOne Tokyoを開催している。2日目にあたるDay-1はJavaOne Nightも開催されるJavaOneの山場。多くのセッションが開催されたが、ここでは特に次期Java SE 6"Mustang"から躍進が期待されているデスクトップのセッションを紹介する。

Desktop Java Technology in Project Mustang and Beyond

Swing is the dominant GUI tolkit

講演に先立ってSun Microsystems, Java SE Toolkits Architect, Hans Muller氏は、Evans Data Reportで紹介されていた"Swing is the dominant GUI tolkit(Swingはもっとも有力なGUIツールキットだ)"という言葉を取り上げ、Javaの高機能GUIコンポーネントであるJFC/Swingの有用性を強調した。

Swing is the dominant GUI tolkit

Hans Muller氏は、現在のところ世界にはプロとして活躍している4500万人のJava開発者がいることを紹介し、そういった開発者が過ごす時間の43%がデスクトップ関係、41%がサーバ関係、4%ほどがモバイル関係であることを示した。インストールベースでのJavaの普及はきわめてよく進んでおり、PCの50%には最新のJavaがダウンロードされているのだという。

Sun Microsystems, Java SE Toolkits Architect, Hans Muller氏

Hans Muller氏はJFC/Swingを活用して作成されている有名なアプリケーションとしてLimeWire、Grokker、map24.com、Yahoo! Sitebuilder、pogo.com、Quantrix、Maple、!QNext、BlogBridge、JPodderなどを紹介し、人気のあるアプリケーションの多くがすでにJFC/Swingを使って作成されていることを強調。

また同氏は、JFC/Swingに関するコミュニティとしてjavadesktop.com、SwingLabs、Project Peabodyを紹介。javadesktop.comはすでに設立されてから2年を越えるサイトで、300を越えるJFC/Swingを使ったアプリケーション開発プロジェクトがホスティングされているという。また、JDIC・JDNC・SwingWorkerなどJFC/Swingの新しい機能を先進的に開発しているSwingLabsの有用性についても説明があった。

Java SE 6 "Mustang"で搭載される新機能

Sun Microsystems, Java SE Toolkits Architect, Scott Violet氏からは、次期JavaであるJava SE 6 "Mustang"で実際に採り入れられているGUI関連の新しい技術について詳しい説明が行われた。

Sun Microsystems, Java SE Toolkits Architect, Scott Violet氏

Java SE 6 "Mustang"ではAWTに新しい機能が追加されている。モーダルウィンドウに関する機能拡張、システムトレイへの対応、スプラッシュウィンドウ機能の追加である。モーダルウィンドウに関しては99年から問題が指摘されており、このたびようやく修正された。これは修正するためにアーキテクチャ自身の再構築が必要だったためで、長らく必要とされてきた機能だけに期待も大きい。

システムトレイへ対応したことは、"Mustang"で行われているネイティブ環境との連帯強化のひとつといえる。Windowsはもちろん、Gtkに対応しているGnomeなどでも有効になる。KDE(Qt)への対応はまだ行われていないという。SunはGnomeを支援していることもあり、まずはGnome(Gtk)に対応させたといったところだろう。ネイティブサポートという点では、Firefoxへの対応やGnomeシェルのインテグレーションなども見逃せない。レンダリングもよりネイティブレンダリングを使うようになり、JFC/Swingアプリケーションの見た目が環境になじむようになった。Gnome(Gtk)であれば、テーマに応じてJFC/Swingアプリケーションの見た目も変更される。

スプラッシュウィンドウはこれまでの機能でも実現できた。今回はAPIとしてウィンドウが追加されたのではなく、Javaコマンドで対応された点が違う。つまり、Javaアプリケーション起動するまでの間、別途Javaコマンドがスプラッシュウィンドウを表示する。Javaアプリケーション側でスプラッシュウィンドウを表示するコードを記述する必要があい。もちろんAPIとの連帯機能もあり、進捗情報を表示するといったこともできる。

上が通常のテキスト、真ん中がアンチエリアジングされたテキスト、一番下がサブピクセル化されたテキスト

Java2Dについても大きく進化した点が紹介された。Java2Dはアーキテクチャが変更され性能の向上が図られている。よりネイティブ的に好ましい動作をするようになり、性能も優れている。新しく追加された機能としては、テキストの描画方法にアンチエリアジング以外に、サブピクセルというLCDで表示させたときに見やすいように表示される機能がサポートされている。

Java2D アーキテクチャ変更前(左)と後

描画速度の比較 - Mustang OpenGLによる描画性能の向上が示されている

ロケールにおいても機能拡張がはかられている。プラガブルロケール機能が用意され、リソースバンドルの拡張、ノーマライズAPIの導入が行われている。プラガブルロケールの効果として、和暦の機能が追加されたことも日本のユーザとしては注目するべき点だろう。

Scott Violet氏はスプラッシュウィンドウやシステムトレイ、タブコンポーネントの拡張機能のデモンストレーションをおこない、実際に機能している点を強調した。

Javaとデスクトップ

JavaはもともとGUIツールキットとしてAWTのみを提供していたが、OSごとにルック&フィールが違う点や、低レベルなパーツしか提供されておらず、ウィンドウアプリケーション開発には適していなかった。

Java 2から高機能GUIコンポーネントとしてJFC/Swingを同梱するようになるが、これも十分な実行速度が得られないことや、実際に必要になるいくつかのパーツが提供されていないことから、普及に至らなかった。

その後、実行速度の改善、便利なパーツの追加、問題点の修正などを繰り返し、Java SE 5 "Tiger"ではかなりレベルの高いGUIツールとして認識されるようになっている。Java SE 6 "Mustang"ではさらにネイティブとの連帯を強化することがわかっており、デスクトップAPIとして優位な状況にたつのではないかとみられている。依然としてJavaデスクトップアプリケーションの爆発的な普及はみられてないが、Java SE 6 "Mustang"の登場とともに、状況は変わってくる可能性も見えてきた。



転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

紫のクリームに"血の海"を! ギョッとするパンケーキ誕生--注射器ドリンクも
[05:30 9/27] 趣味
脳の若返りには「めい想」1日3分で頭スッキリ
[05:00 9/27] エンタメ
『仮面ライダーゴースト』の西銘駿、シェフ役で連ドラ出演「とても楽しみ」
[05:00 9/27] エンタメ
中条あやみ、目標は「全世界制覇!」『アナザースカイ』新MCに決定
[04:00 9/27] エンタメ
[桑田佳祐]年越しライブ開催を発表 ソロでは4年ぶり
[04:00 9/27] エンタメ

求人情報