カスタムな企業向けソフトウェアアプリケーションサービスを提供している会社であるEmitromは最近 Apache Licenceの下でFlash4j バージョン3.0をリリースした。Flash4jはJava API(元々Apache Flexのラッパー)で、Java開発者にデスクトップやモバイルデバイス上で走るFlashアプリケーションを開発するのに手慣れた方法を提供する。
Flash開発は、典型的には ActionScriptで行われるが、このスクリプト言語は、スクリプト言語に慣れていないJava開発者に使われていない(同様な障壁が時々JavaScriptにもある)。Flash4j はその代わりに完全なJavaAPIを提供する。それはSwing、GWT、あるいはWicketに見られるものと似ている。
Flash4jは内包されたJavaクラスとして以下のものを提供している。
- ボタン、メニュー、データグリッド、リスト、Dateチューザーのようなコントロール
- ウィンドウ、ボックス、アコーディオンのようなコンテナ
- チャートやグラフのような高度なコントロール
- Swingに似たイベントシステム
ライブデモがソースコードとともに幾つかの例を示している。
面白い注目点は、Flash4jが明らかにFlashランタイムをターゲットにしてにも拘らず、Emitromがフォールバック機構としてHTML5の重要性を認めていることである。そのためFlash4jはFlash環境が存在するかどうかを賢く検知できるので、開発者は、Flashをサポートしていないデバイスを異なる取り扱いができるようになっている。なので環境によってはHTML5を提供するようなFlash4jアプリケーションを書くことが可能である。
Flash4j はまた以下のものに統合できる。
- Apache Flex
- Starling Flashゲームエンジン
- アニメーション用のGreenSock Tweening ライブラリ for animations
- Adobe Airプラットフォーム
- Sencha GXT
Adobe Air のサポートは重要である。なぜならFlash4jがブラウザ外で、デスクトップ上で走るアプリケーションをターゲットにできるからである。なので EmitronはFlash4jを使えば、Javaで書かれた1つのコードベースが( Adobe Airを介して)デスクトップで、(Flashを介して)ブラウザー上で、(GWTからHTML5を介して)モバイルデバイス上で走ることができる。このことでポーティングが不要なために、クロスプラットフォームアプリケーション(やゲーム)の開発が楽になる。
もっと詳しく知りたければ、参考ドキュメント と フォーラムを見て欲しい。有料のサポートオプションも利用できる。
Kostis Kapelonis 氏は企業アプリケーションを専門にしたソフトウェアエンジニアである。