JavaFXに関してよくある質問

 


1. JavaFX 2の新機能について教えてください。
2. アプリケーション開発にJavaFXを選ぶ理由を教えてください。
3. JavaFXでサポートされているプラットフォームを教えてください。
4. JavaFXプラットフォームはオープンソース提供されていますか。
5. JavaFXはJava SEに含まれていますか。
6. JavaFXはJava SE向けの新しいクライアントUIライブラリとして、Swingに取って代わりますか。
7. JavaFXはオーディオおよびビデオ・コードをサポートしていますか。
8. JavaFX 2はJavaFX Scriptをサポートしていますか。

9. 以前のバージョンのJavaFXを引き続き使用できますか。
10. JavaFXに適用されるライセンスの種類を教えてください。
11. JavaFXの更新リリースが提供される頻度を教えてください。
12. JavaFXで利用できるサポートの種類を教えてください。
13. バグ・レポートや新機能リクエストの登録方法について教えてください。

 



1. JavaFXの新機能について教えてください。

JavaFX 2は、リッチ・クライアント・プラットフォームとしてのJavaの発展における次の段階です。 この製品はエンタープライズ・アプリケーションおよびビジネス・アプリケーション向けに、ハードウェア・アクセラレーション付きの軽量Java UIプラットフォームを提供することを目的としています。

おもな機能は次のとおりです。

  • Java APIを介した機能の公開
  • ハードウェア・アクセラレーション付きの新しいグラフィック・パイプライン(Prism)
  • FXML - ユーザー・インタフェース定義用の新しいXMLベースのマークアップ言語
  • CSSスタイリングを使用した50以上のUIコントロールとグラフ
  • Webコンポーネント(WebView)による、Java/JavaScriptブリッジを使用したJavaアプリケーション内部へのHTMLおよびJavaScriptコンテンツのレンダリング
  • SwingおよびSWTアプリケーションでのJavaFXサポート
  • 新しいメディア・エンジンによる、安定性と一貫性に優れたメディア再生(H.264ビデオおよびAACオーディオのサポートを含む)
  • 機能の一覧については、データシートを参照してください。


2. アプリケーション開発にJavaFXを選ぶ理由を教えてください。

JavaFXは、最近のエンタープライズ・クライアント・アプリケーション要件に対応するように設計されています。 次に、JavaFXを使用することで得られる利点の例を挙げます。
  • Java開発スキルの活用:JavaFXアプリケーションは全面的に、ソフトウェア・アプリケーションの開発およびデプロイ用にもっとも広く採用されており、標準ベースのプログラミング手法と設計パターンに基づいているJavaプログラミング言語で開発されます。
  • 迅速なスタートアップ:API設計の簡素化に重点を置いたことで、Javaプログラミング言語での複雑なユーザー・インタフェースの開発が極めて簡単になりました。 また、JavaFXを使用すると、FXMLでユーザー・インタフェースを開発できるようになります。FXMLは、スクリプトに対応したXMLベースのマークアップ言語で、ユーザー・インタフェースを定義できます。 Webテクノロジーやその他のマークアップ・ベースのUIテクノロジーを使い慣れた開発者であれば、FXMLの習得が容易であり、各種アプリケーションに対して非常に有効であることが分かるでしょう。
  • 限界のない開発:JavaFXは、豊富なグラフィックおよびメディアAPIのセットに加えて、パフォーマンスに優れたハードウェア・アクセラレーション付きのグラフィックおよびメディア・エンジンを提供することで、没入型ビジュアル・アプリケーションの開発を簡素化します。
  • Javaに対する投資の保護:JavaFXの開発者は、JavaFXアプリケーション内でJavaライブラリを再利用することで、既存投資を保護できます。 また、Javaネイティブ・インタフェースを介してネイティブ・システム機能にアクセスしたり、サーバー・ベースのJava EEミドルウェア・アプリケーションにシームレスに接続したりすることができます。
  • 使い慣れたJava開発ツール:開発者はNetBeansやEclipse IDEなどから好みのJava開発ツールを使用して、JavaFXアプリケーションを開発できます。 構文ハイライト表示、自動補完機能、インタラクティブなステップスルー・デバッグ、プロファイリングを含むすべての標準IDE機能をJavaFX開発に使用できます。
  • デスクトップまたはブラウザへのデプロイ:JavaFXアプリケーションはデスクトップ・アプリケーションとしてデプロイでき、Javaブラウザ・プラグインを使用してブラウザ・アプレット内にデプロイすることもできます。 Javaブラウザ・プラグインは改善されており、JavaFXアプリケーションをブラウザ内でセキュアに実行するための手段を提供します。 デスクトップ上にデプロイされたJavaFXアプリケーションは、より高いパフォーマンスを発揮するとともに、ネイティブ・オペレーティング・システムとの統合による利点ももたらされます。


3. JavaFXでサポートされているプラットフォームを教えてください。

  • バージョン2.1のJavaFXは、WindowsおよびMac OS X上で利用できます。
  • Linux用のJavaFX 2.2開発者プレビュー版は、こちらからダウンロードできます。一般公開は、2012年夏に予定されています。
  • JavaFXはJava SE 7上でサポートされており(Windowsバージョンを除く)、2012年11月にJava SE 6のサポート提供が終了するまでJava SE 6でもサポートされます。 詳しくは、Certified System Configurationsを参照してください。  


4. JavaFXプラットフォームはオープンソース提供されていますか。

2011年のJavaOneにおいて、JavaFXプラットフォームをオープンソース化するというオラクルの意向が発表されました。 この提案はOpenJDKコミュニティによって承認されており、はじめにJavaFX UIコントロールのソース・コードが提供されました。その他のJavaFXコンポーネントは、複数時期にわたって提供することが計画されています。 JavaFXのソース・コードはOpenJDKのその他のプロジェクトと同様に、クラスパス例外付きGPL v2ライセンスの下で公開されています。 Oracle JavaFXランタイムおよびSDKは引き続き、Oracle Binary Code License for the Java SE Platformの下で公開されます。

Project OpenJFXについて、詳しくはhttp://openjdk.java.net/projects/openjfxを参照してください。



5. JavaFXはJava SEに含まれていますか。

JavaFX 2.0.2およびJava SE 7 Update 2(2011年12月)以降では、JavaFX SDKがJDK 7に含まれています。 JavaFXランタイムは、Java SE 7 update 6(2012年夏を予定)からJREに完全統合される予定です(JavaFX 2.1およびJava SE 7u4 for Mac OS Xに対してはすでに統合済み)。

2012年11月にJava SE 6のサポート提供が終了するまでの間、スタンドアロン・バージョンのJavaFXはJava SE 6を実行するWindowsユーザーに対して提供されます。



6. JavaFXはJava SE向けの新しいクライアントUIライブラリとして、Swingに取って代わりますか。

はい。 ただし、当分の間、SwingもJava SE仕様の一部として存続し、JREに含まれます。 Swingは既存のJavaデスクトップ・アプリケーションで広く使用されていますが、古いアーキテクチャに依存しており、一定レベルの専門知識と特殊化が必要になります。 その一方で、JavaFXには標準のCSSテクニックを使用してスキニングできる最新のUIコントロール・セットが備わっています。 オラクルでは、新規アプリケーションの構築時にはできる限りJavaFX APIを利用するように推奨していますが、Swingアプリケーション内でJavaFXを使用して既存のSwingアプリケーションを拡張することも可能です。



7. JavaFXはオーディオおよびビデオ・コードをサポートしていますか。

JavaFXは一般的なAPIのセットを提供しており、任意のJavaFXアプリケーション内にメディア再生機能を簡単に組み込むことができます。 現在サポートされているメディア形式は次のとおりです。
  • オーディオ: MP3、非圧縮PCMを格納したAIFF、非圧縮PCMを格納したWAV、Advanced Audio Coding(AAC)オーディオを含むMPEG-4マルチメディア・コンテナ
  • ビデオ: VP6ビデオとMP3オーディオを格納したFLV、H.264/AVC(Advanced Video Coding)ビデオ圧縮を含むMPEG-4マルチメディア・コンテナ  


8. JavaFX 2.0はJavaFX Scriptをサポートしていますか。

JavaFX 2.0以降では、JavaFX Scriptはサポートされていません。 ただし、宣言型言語の使用を希望する場合は、GroovyやScalaなど、JVM上で実行できるその他のスクリプト言語を使用できます。



9. 以前のバージョンのJavaFXを引き続き使用できますか。

JavaFX 1.xファミリー製品は、2012年末まで引き続き使用できます(EOL announcementを参照)。 それ以降はJavaFX 1.xのランタイムが使用できなくなるため、以前のバージョンのJavaFXに基づくアプリケーションを市場に供給している企業は、JavaFX 2への移行計画に着手することを強く推奨します。



10. JavaFXに適用されるライセンスの種類を教えてください。

2.0.2以降のJavaFXには、Java SEと同じライセンスおよびビジネス・モデルが適用されます。 このライセンスでは、条件に従うことで、サード・パーティの開発者に対してアプリケーションとともにJavaFXを配布できます。



11. JavaFXの更新リリースが提供される頻度を教えてください。

JavaFXは、Java SEと同じ更新スケジュールに従う予定です。 次の更新リリースの概要については、JavaFX roadmapを参照してください。



12. JavaFXで利用できるサポートの種類を教えてください。

JavaFXに対しては、2種類のサポートが提供されています。
  • JavaFXアプリケーションの開発者はJavaFX forumへアクセスするか、またはJIRAへログインすることで、バグ・レポートや新機能リクエストを登録できます。
  • Oracle Premier Support for Software: 2.0.2以降のJavaFXは、Oracle Premier Supportを通じてサポートされるJava SEテクノロジーの一部になります。 このサポートでは、製品のアップデートや拡張に加えて、お客様がJavaFXベースのデプロイメントを保守し、製品パフォーマンスを向上し、製品の新機能を迅速に実装するために役立つ最新のサポート・リソースが提供されます。 Oracle Premier Support for Softwareは、サポート契約を結んだお客様に提供される商用サービスです。


13. バグ・レポートや新機能リクエストの登録方法について教えてください。

JavaFXに含まれる欠陥を発見し、バグ・レポートを登録する場合、または新機能やプラットフォームに対する機能改善を提案する場合、http://javafx-jira.kenai.comにアクセスしてアカウントを作成する必要があります。 ログインしたら、ページ上部のナビゲーション・バーから「Issues」→「Create Issue」を選択します。 次に、「Runtime」プロジェクトを選択し、登録する種類をバグまたは機能リクエストから選択します。 ページに記載された指示に従って、できるだけ多くの情報を提供してください。 その他の情報が必要になった場合はオラクルからご連絡いたしますが、事前に提供されている情報が多いほど助かります。

注: JavaFX Scene Builder("Scene Builder")やJemmyFX("Jemmy" - OpenJFXによってオープンソース化されている自動UIテスト・フレームワーク)など、その他のプロジェクトを選択することもできます。

 

Java技術者必読! Java Magazine 最新号公開中

Left Curve
Java SDKとツール
Right Curve
Left Curve
Javaリソース
Right Curve