サン・マイクロシステムズのRIAプラットフォーム「JavaFX 1.0」。その特徴は、スクリプト言語による開発の容易性とJavaプラットフォームとの親和性にある。
米Sun Microsystemsは12月4日、RIA構築用プラットフォーム「JavaFX 1.0」正式版をリリースした。
JavaFXとは、サン・マイクロシステムズ(以下、サン)のRIA(Rich Internet Application)関連製品の総称。同社は2007年5月、米サンフランシスコで開催されたJava開発者向けイベント「JavaOne」において、Javaをベースにしたスクリプト言語「JavaFXスクリプト」と携帯端末向け実行環境「JavaFX Mobile」をプレビュー版として発表していた。
今回正式リリースされたJavaFX 1.0は、以下の主要な3つのコンポーネントで構成される。
・JavaFX Development Environment
コンパイラや各種ランタイムツール、グラフィックス、マルチメディア機能、Webサービス、リッチテキスト用ライブラリなどを含む。統合開発環境「NetBeans」と「Eclipse」のプラグインが用意されている。
・JavaFX Production Suite
デザイナー向けのツールやプラグインが含まれている。Adobe PhotoshopやAdobe Illustratorなどのデータを組み込むことができる。
・JavaFX Desktop
クライアント向けJavaアプリケーション実行環境「Java Platform Standard Edition 6 update 10」の主要機能を搭載している。Webブラウザで実行中のアプレットを直接デスクトップにドラッグ&ドロップできるプライグインが用意された。
JavaFX1.0は同社の公式サイトから、製品ドキュメントやサンプルコードなどとともに無償でダウンロードできる。
RIAプラットフォームといえば、アドビシステムズが「Adobe AIR」を、マイクロソフトが「Microsoft SilverLight」を既に発表している。
それらの先行するRIAプラットフォームとJavaFXとの違いはどこにあるのか。
サン・マイクロシステムズの新規ビジネス開発本部テクノロジー・マーケット&コミュニティ開発統括部チーフ・テクノロジスト、山口 浩氏は、Adobe AIRやMicrosoft SilverLightがXMLをUI言語として使用している点に触れ(※)、「XMLで記述すると冗長的なコードになり、開発者が理解しにくくなる。開発ツールを利用すれば問題はないが、JavaFXはそうしたツールを使わなくても直観的にコンポーネントを作成できる」と説明する。
また、JavaFXの特徴は「JavaFXスクリプトによる開発の容易性とJavaプラットフォームとの親和性にある」という。
※ Adobe AIRは「MXML」、Microsoft SilverLightは「XAML」をUI言語として使用している。
JavaFXスクリプトは宣言型の文法を採用し、オブジェクト指向による記述や静的な型付け、動的なデータバインディングなどを特徴とする。Javaのコードを記述でき、既存のJavaライブラリを活用できる。
これまでJavaでのGUI開発では「Swing」が使用されていた。ではSwingとJavaFXスクリプトでの開発ではどう違うのか。以下に示すサンプルのソースコードと画面を例にして、比較してみる。
public class HelloSwing { public static void main(String[] args) { JFrame frame = new JFrame("Swing"); frame.setSize(200, 70); frame.setBackground(Color.WHITE); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); JLabel label = new JLabel("Hello, Swing!"); label.setFont(new Font("Helvetica", Font.ITALIC, 28)); frame.add(label); frame.setVisible(true); } }
※ ウィンドウを閉じたときのアクションを記述している部分
このコードを実行すると、下図のような画面が作成される。Swingでは手続き的な手順を取るため、ウィンドウを閉じたときのアクション「System.exit(0)」を記述する際には、その順番も重要となる。
次に、JavaFXスクリプトで同様の画面を作成する場合を示す。
Stage { title: "JavaFX" scene: Scene { width: 200 height: 50 content: Text { x: 0 y: 30 content: "Hello, JavaFX!" font: Font { name: "Helvetica" size: 28 oblique: true } } } onClose: function() { java.lang.System.exit(0); } }
※ ウィンドウを閉じたときのアクションをJavaコードで記述している
このコードを実行すると、下図のような画面が作成される。宣言型の文法を採用しているため、ウィンドウを閉じる処理部分の記述においてコードの手順を意識することはない。
上記の2つのソースコードを比較すると、JavaFXスクリプトの方が少ない行数で済み、直感的にソースコードの内容が理解できることが分かるだろう。例えば、ウィンドウの幅を修正する際にもソースコードのどの部分を変更すればよいか判断がつきやすい。また、コード数が少なくて済むので開発期間のサイクルを短縮できるメリットもある。
NetBeansによるJavaFXアプリケーションの開発では、JavaFX対応のエディタによって文法チェックやコードの整形や補完、コード断片のドラッグ&ドロップによる操作などが可能。JavaFXアプリケーションはJavaFXコンパイラを呼び出し、JavaのバイトコードにコンパイルしたものをJava VM(Java仮想マシン)上で実行できる。
サンではJavaFXをJavaプラットフォームの拡張機能として位置付けている。同社によると、全世界でJavaの開発者は650万人を超え、8億台以上のデスクトップマシンと60億台以上のインターネット接続端末でJavaプラットフォームが使われているという。
今後の製品展開について、サン・マイクロシステムズのマーケティング統括本部プロダクト・ストラテジック・マーケティング本部ソフトウェア・マーケティング専任部長、若林夏樹氏は「単にリッチクライアント開発プラットフォームとして勝負するわけではない。GUIオーサリングツールを提供する以上に、ネットワークを介したデータのやりとりをいかにスムーズに連携させられるかが重要」と説明した。
サンは今後、デスクトップやWebブラウザへの対応を強化するほか、2009年春にJavaFX for Mobileの正式版をリリースする予定。
Copyright © ITmedia, Inc. All Rights Reserved.
ビジネスに生成AIを利用するのが当たり前になりつつある中、ローコード開発への活用を模索している組織も少なくない。開発者不足の解消や開発コストの削減など、さまざまな問題を解消するために、生成AIをどう活用すればよいのか。
急速に変化する顧客ニーズに応えるような適切な製品を継続的に提供するためには、より多くのアプリを生み出す必要があるが、そのための開発者が不足している。そこで注目されているのが、生成AIやローコード開発プラットフォームだ。
あらゆる組織は、従業員と消費者の双方に良質なエクスペリエンスを提供する義務を負っている。アプリ開発と高度な自動化は、この目的を達成するための有効策の1つだが、それぞれを適切に実装できなければ、むしろリスク要因ともなり得る。
DXが進み、レガシーシステムからの脱却が喫緊の課題となっている今。「ERP×ノーコードツール」のアプローチで基幹システムの刷新に取り組む企業が増えている。そのアプローチを推進するに当たってのポイントを解説する。
DXの本質は、デジタル技術を駆使して変化に適応する能力を身につけることにある。その手段の1つとして注目を集めているのが、ローコード/ノーコード開発ツールだ。京王グループなどの事例とともに、その特徴やメリットを紹介する。
いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。
「マーケティングオートメーション」 国内売れ筋TOP10(2025年5月)
今週は、マーケティングオートメーション(MA)ツールの売れ筋TOP10を紹介します。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年4月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年4月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。