Java開発者のための
ActionScript/Flex Builder入門
〜Javaプログラマでも知っておくべきFlexのポイント〜
ティルフィン合同会社
高橋 俊光
2009/8/28
なぜ、Javaプログラマが「Flex」なのか?
- - PR -
Javaで作るクライアントのUI(ユーザーインターフェイス)に不満を持っている方。「もっと使いやすいUIを使いたい」という要望を受けている方にFlashベースのUIを提案したい方。「Java言語だけではなくほかの言語を使ってみたい」という方。「Flashアプリを作ってみたいけど、デザイナじゃないと難しいのでは」と悩んでいる方はいませんか? そんな方にお勧めしたいのが、「Flex」です。
もちろん、Javaでクライント側のアプリを作ってきた方だけではなく、Javaでサーバ側のアプリを作ってきた方も、クライアント連携技術として有力な候補の1つであるFlexについて学んでおくというのは、実案件でも役立つことと思います。
例えば、デザイナが参加するFlexクライアントの制作案件に携わっていて、クライアントのUIにちょっとした修正が必要なときにいちいちデザイナに頼む時間がない場合もあるかと思います。技術者が、UIのデザイン手法ならともかく、クライアント側で使われている“技術”について「知らない」では済まされないでしょう。
Flexは主に企業向けのFlashアプリケーションを開発するためのフレームワークで、「ActionScript」というスクリプト言語で動作を制御し、「MXML」というXMLベースのUI定義を使います。Flashアプリケーションは「JDK」(JavaのSDK(基本開発キット))と同様に、コマンドでコンパイルする「Flex SDK」によって開発できます。また、Flex SDKでの開発には、Eclipseベースの統合開発環境「Flex Builder」が利用できます。
編集部注:Flex Builderは、2010年3月の新版から「Flash Builder 4」に名称変更しています。期間限定の無料版を ダウンロード して使えます
例えば、以下のようなAmazonのWeb APIを使った、見栄えの良いFlashアプリケーションも、Flexだと標準コンポーネントだけで簡単に作成できます。
![]() |
| 図1 今回作成するサンプルアプリケーションの実行例(実際に動かしてみたい場合は、画像をクリックしてください。テキストボックスに出版社名を入力して、検索ボタンを押すと検索結果が表示されます) |
本稿では、Javaプログラマが、Flex Builder上でFlashアプリケーションを開発するうえでのポイントを紹介していきます。何事にもいえることだと思いますが、実際に手を動かして使ってみないと分からないことは多々あるものです。本稿が、実際に触れてFlexを理解するための参考になれば幸いです。
Javaから見たActionScript 3.0
Flex SDKでは、ActionScript 3.0を利用して開発します。ActionScriptは2.0から、プロトタイプベースだけでなくクラスベースのオブジェクト指向プログラミングをサポートし、3.0でJavaと同じように本格的なクラスベースのオブジェクト指向のための言語仕様が追加されました。
■ JavaとActionScript 3.0のコードはこんなに似ている
「百聞は一見にしかず」ということで、まずはJavaとActionScriptのソースコードを見比べてください(パッケージやインポート部分は省いて、クラス定義部に絞ってあります)。
Javaのコード例public final class MyClass extends ClassA implements IInterrface {
public final static String EMPTY = "";
private String name;
public MyClass(String name) {
super();
this.name = name;
}
public MyClass() {
this("sample");
}
private int methodSample(int value) {
int n = 5;
return n + value;
}
public void setName(String value) {
this.name = value;
}
public String getName() {
return this.name;
}
}
ActionScript 3.0のコード例
public final class MyClass extends ClassA implements IInterface {
public static const EMPTY:String = "";
private var _name:String;
public function MyClass(name:String="sample") {
_name = name;
}
public function methodSample(value:int):int {
var n:int = 5;
return n + value;
}
public function set name(value:String):void {
_name = value;
}
public function get name():String {
return _name;
}
}こうして見比べると、インターフェイスの実装やクラスの継承も「implements」「extends」といったJavaプログラマおなじみのキーワードで定義できることが分かると思います。
ActionScriptには、アクセス修飾子も「public」「private」「protected」(Javaとは異なり、サブクラスからのみ参照可能)「internal」(デフォルト、同じパッケージ内で参照可能)などが用意されています。
次ページでは、JavaとActionScript 3.0の細かい違いを押さえていきましょう。さらに、UI定義を行うMXMLやFlex Builderについても説明します。
| 1-2-3 |
| INDEX | ||
| Java開発者のためのActionScript/Flex Builder入門 | ||
| Page1 なぜ、Javaプログラマが「Flex」なのか? Javaから見たActionScript 3.0 |
||
| Page2 FlashアプリケーションのUIをXMLで定義 EclipseでFlashアプリは開発できる |
||
| Page3 サンプルを通してFlexの細かい便利機能に迫る Javaと遜色ない開発水準になりつつある、いまこそ |
||
TechTargetジャパン
- 次のモバイルアプリはどのフレームワークで作る? (2012/5/24)
スマホアプリの開発を容易にするJavaScriptのフレームワークが続々と増えている。それぞれの良さや仕組み、何がどこまでできるのかを徹底解剖する - 「LESS&専用エディター」でCSSをシンプルに書こう (2012/5/23)
「LESS」はCSS初心者に向けた、シンプルなライブラリだ。「LESS」で、変数などのプログラミングの基礎的な考え方もCSSで学ぼう - 学校が世界一のデジタル環境になったら (2012/5/18)
授業はアーカイブに蓄積され、家からも見られる。家族が授業テーマのアイデアを出す。そんな姿が実現されるかもしれない - 1000万ドル調達も夢じゃないクラウドファウンディング (2012/5/15)
クラウドファンディングは、寄付型でも投資型でもない「購入型」が主流。商品を“開発する前に販売”して開発費用を集める逆転のシステムだ
|
|

