トップスポーツチームの監督に教わる秘訣
この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。
作者 Jon Rose, 翻訳者 白石 俊平 投稿日 2008年1月23日 午後6時15分
InfoQ.comはJavaFXについての概要(記事)を10月に掲載した。JavaFXの追加によりJavaプラットフォームに何が起きるのかについて、Sun MicrosystemのChet Haase氏(source)はInfoQ.comに対して、引き続き更に詳しい情報を提供してくれた。OpenJFXプロジェクトの現状については、JavaFX Scriptは、既存のJavaプラットフォームの機能の上に構築された新しい言語です。それは、たとえば画像やGUIアプリケーションの構築をより簡単にする、新しい機能や新しい文法を提供します。
現在でもSwingやJava2Dを使用して、リッチでダイナミックなGUIアプリケーションを書くことは明らかに可能です。しかし、それは必ずしも簡単にできるものではありません。JavaFXスクリプトはこの種のアプリケーション開発をより簡単にするものです。Java開発者にとっては、それまで彼らが開発に携わってきたプラットフォームの知識やスキルに基づきながらも、彼らの仕事が楽になると言うことを意味します。Javaプラットフォームを使わないその他の開発者にとっては、(Javaよりも)学んだり使ったりすることがより簡単な言語を使うだけで、(Java)プラットフォームのリッチさとパワーをすぐに利用することができるのです。
OpenJFX(source) は、JavaFXの様々な部分の開発がオープンに行われているサイトです。例えば、JavaFXスクリプト用コンパイラはOpenJFXサイトで開発されています。そのため、初期バージョンの試してみたいという開発者たちは、直ちに自分で最新版を手に入れることができると同時に、開発者グループへの提案とフィードバックに協力することができます。Haase氏はJavaFXコンポーネントモデルについてこう述べている。
OpenJFX はまた、他の様々なプロジェクトがホストされ、リンクされる(ことになるであろう)場所でもあります。例えばScene Graphプロジェクト(source)という、JavaFXスクリプトの画像・GUI・アニメーション機能を可能にするランタイムライブラリがOpenJFXからリンクされています。
つまり、OpenJFXはプロジェクトが現在持つドキュメントの供給源なのです。;チュートリアル、リファレンス、マテリアル、そしてブログへのリンクやその他のリソース、全てがOpenJFXサイトに集約されています。
私は、JabaFXスクリプトのコンポーネントモデルをSwing++--だと考えています。JavaFXスクリプトにおけるコンポーネントの多く(例えばボタンなど)は、下位のSwingプラットフォームに直接依存しています。つまり、JavaFX Scriptのボタンは実際にSwingのJButtonなのです。Haaseは、JSFについての一般的な批判(公平/不公平を問わず)のうちの一つについて尋ねられた - UIコンポーネントを構築するフレームワークを提供してはいるが、質の高いUIを簡単に構築するために必要なコンポーネントの全てを直接提供してはいないと言うものだ。JavaFXコンポーネントのアプローチが、それとどう異なるのかを尋ねられ、
しかし、いくつか重要な違いがあります。例えば、
- あるSwingコンポーネントのフィールドやメソッドをpublicに公開する必要がない場合、JavaFX Scriptバージョンのオブジェクトは、そうしたフィールドを公開しないと言う選択をとることができます。これにより、プログラムを理解するのがより容易になるかもしれません。
- 下位のコンポーネント上にあるJavaFX Scriptコンポーネントのレイヤに、FXランタイムが利用することのできる機能を追加できます。例えば一つのクールな例として、JavaFX Script言語が持つ新しい機能に、任意のフィールド値に対する変更をトリガにして処理を行う、と言うものがあります。これは、下位コンポーネントに対するFXのラッパークラス - 例えばボタン - が、変更を適切にJavaFX Scriptレイヤに伝播することによって実現しています。
- Swing 自体では利用できないコンポーネントやその他のGUIオブジェクトを、JavaFX Scriptが提供するかもしれません。例えば現在のJavaFX Scriptは、子(オブジェクト)に対して単純に垂直/水平のレイアウト制約を行う、VBox/HBoxコンテナオブジェクトを提供しています。
JavaFXアプリケーションのデプロイについて。私にはJSFに関する事はなんともできません(私自身、JSFについてはあまり知らないので)。しかし幸いな事に、JavaFXスクリプトはそのコンポーネントモデルのために、Javaプラットフォームの全機能を利用することができます。コンポーネントの追加や、さらにはミックスして使うためにカスタマイズが行えるほどの柔軟性と同様、Swingの強みの一つは常に、GUIコンポーネントの幅広さにありました。JavaFX ScriptレイヤがSwingの上にあるおかげで、この強みは新しい言語にしっかりと引き継がれています。
JavaFX スクリプトアプリケーションは、Javaアプリケーションと同じ方法でデプロイ可能です:スタンドアローンアプリケーションやブラウザ内のアプレット、 Java Web Startアプリケーション(これはWeb上にデプロイが出来ますが、本質的には、デスクトップ上の安全なサンドボックス内でスタンドアローンに実行されます)と同様です。Haase氏はSilverlightやFlash Playerと同様の、ブラウザプラグインに対応する計画について聞かれた。
JavaFXをFlex/AIR, Silverlight, そしてその他のリッチインターネットプラットフォームと、特徴、展開、そして完成度の点で比較すると、私たちはすでにJavaに対応したブラウザプラグインを持っていて、わかりやすく”Javaプラグイン”と呼んでいます。JavaFX Scriptアプリケーションは、Javaアプリケーションとまったく同じようにこのプラグインを使うことができるでしょう。しかしながら、私たちはこのプラグインに対する重要な変更を行っている真っ最中です。特に、私たちはより顧客指向のJavaFXアプリケーションをサポートする方向に向かっています。例えば起動時間の改善は、Java/JavaFXアプリケーションの双方にとって、プラグインの起動時間を明らかに改善します。また、私たちはプラグインをより強固で柔軟なものにするために、コードをほとんどスクラッチから書き直しているところです。 この2つの改善は、”Java SE 6, Update 10”としてリリースされる予定で、以下のサイトからアーリーアクセス版を手に入れることができます:https://jdk6.dev.java.net/6uNea.html
終わりに、I私は、現時点で直接比較するのは避けようと考えています。なぜなら、何しろJavaFXは明らかに開発半ばで、リリースされた物を比較するには時期尚早だからです。 RIAスペースにおけるJavaFXの真の強みの一つは、基盤としているJavaプラットフォームの潜在的な能力、機能性、そして完成度にあると言えるでしょう。
私たちはコミュニティのヘルプに興味があります。OpenJFXサイトを見て、最新リリースをチェックして、どうなるかに注目して、JavaFX Scriptアプリケーションを書き、そしてあなた方の意見を私たちにお送り下さい。できればOpenJFXプロジェクトがその目標を完全に達成し、Java開発者たちにRIA構築のための有効な選択肢を与えて欲しいものだ。
【無償】「Google Apps 企業向けソリューションセミナー」のご案内
InfoQ Japanはコンポーネントスクエアが運営しています
セキュアなIT基盤と付帯運用サービス”SecureOnline”
この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。
Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。
マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。
Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。
筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。
エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。
この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。
No comments
返信