はじめに
本稿では2回に分けてJavaの開発者の方を対象に、Adobe Flex(以下、Flex)の概要や構成要素について紹介し、インストールからアプリケーション開発の流れまでを簡潔に紹介していきます。
1回目の今回は、Flexの構成要素についてと、開発環境であるAdobe Flash Builder 4(以下、Flash Builder)をEclipseのプラグインとしてインストール方法を紹介します。
Flexは強力なRIA(Rich Internet Application)の開発フレームワークです。Webアプリケーションの構築においてJavaとFlexは非常に相性がよく、開発言語のActionScript 3とJavaが似ていることもあり習得も容易です。本稿を読んで、ぜひFlexに触れてみてください。
対象読者
Flash/Flex/AIRなど、Adobe関連の技術にあまり触れたことのない、Java開発者の方を対象にしています。
- Java以外のスキルも身につけたいプログラマーの方
- 高度なUIを持つWebアプリケーションを手軽に作りたい方
- Flexで何ができるのか、どんな仕組みなのか知りたい方
Adobe Flexについて
Flexをひとことで紹介するなら「高度なUIを持つWebアプリケーションのフレームワーク」と言うことができます。Flexで作ったアプリケーションは、Webブラウザの中で動かすこともできますし、WindowsやMac OS X、Linuxにインストールして使うデスクトップアプリケーションとして動かすこともできます。
その最大の魅力は、用意されている豊富なコンポーネントを使って、高度なUIを持つアプリケーションを簡単に開発できる点にあります。Flexには、データグリッドやデータ視覚化のための各種チャート、ツリーやリッチエディタ、動画再生など豊富なコンポーネントが用意されています。
FlashとFlexの関係
Webブラウザで動かすというと、Javaアプレットのようなものかと思うかもしれません。確かに、Flexアプリケーションは、Webブラウザのプラグインとして動かすことになりますが、普及率で99%以上を誇るFlash Player上で動かすことができます。ですから、Flexアプリケーションのために、わざわざプラグインをインストールしなければならないという心配は無用です(そもそも、Flex自体が、Flashのフレームワークという位置づけです)。
なお、Flash Playerの普及率については次のWebページで確認できます。
では、FlashとFlexで何が違うのかというと、開発環境が異なります。Flashはもともと、Webアニメーションの開発ツールから出発しています。そのため、Flashを起動させると、線や図形などを描画するデザイン画面が現れます。そして、簡単なアニメを作るだけならまったくプログラムを書くことはありません。ユーザーが絵をクリックしたり、外部からデータを取得するなど何かしらのアクションを起こす段階になってはじめてプログラムの記述が必要になります。
それに対して、Flexの開発ツールであるFlash Builderは、起動してプロジェクトを作成すると、私たちに非常になじみ深いあのEclipseの画面が現れます(Flash BuilderはEclipseをベースに作られています)。そのため、Javaのようにサクサクとコーディングを楽しむことができます。もちろん、Flash Builderは有償のツールだけあって、マウス操作で手早く画面を作ることもできますが、Eclipse由来のインテリジェントな開発補助機能は健在です。
つまり、Flashはデザイナーのためのツール、Flexはプログラマーのためのツールという棲み分けになっています。ただし、どちらのツールで作っても、Flash Player上で動作する、Flashファイル(swfファイル)を生成することになります。
AIRとFlashの関係
先ほど、Windows/Mac OS X/Linuxにインストールして、デスクトップアプリケーションとして動かすこともできると書きました。これは、Adobe AIR(以下、AIR)と呼ばれる技術です。Flex/Flashで作ったアプリケーションを実行ファイルの形式で書き出すことができます。Javaと同じくOSごとにランタイムが用意されており、一度作成したAIRパッケージは、OSを選ぶことなく同じように動かすことができます。加えて、ローカルのリソース(ファイルシステムやデータベースなど)を利用することが可能で、Webブラウザの枠に捕らわれないさまざまな機能を利用できます。AIRはデスクトップで動くウィジェット/ガジェットの作成に広く利用されています。
また、Androidなどのスマートフォンやモバイル端末でもAIRが動作するようになっています。本稿執筆時点(2010年7月)では、既にAndroid向けのプレリリース版がリリースされているので、一般公開も近いと言えます。