TOPシステム開発> Flex 2を実際に導入する前に
Flex 2
徹底攻略!Free Flex 2 SDK

第4回:Flex 2導入にあたってのポイント

著者:ウノウ  酒徳 峰章   2007/1/11
1   2  3  次のページ
Flex 2を実際に導入する前に

   本連載では、アドビシステムズより無償で公開されているFlex 2 SDKを中心に、Flex 2の概要から実践的な利用方法まで解説し、その中でどのような開発ができるのか紹介してきました。今回は本連載のまとめとして、実際に開発環境としてFlex 2を導入する際、課題となる事柄と今後の可能性を考えてみましょう。
学習コスト〜言語の習得は容易だが

   新しい技術を取り入れて開発を行う場合に検討しなければいけない項目の1つが、人材の確保と開発者の学習コストです。ここでは、Flex 2を導入する上で課題となる人材と教育について考えてみます。

   第3回でも解説しましたが、Flex 2ではXML形式でコンポーネントの配置を記述し、ActionScriptでイベント指定を行います。これはHTMLでレイアウトを作りJavaScriptでロジックを書くというスタイルと似ているため、既存のJavaやJavaScript開発者との親和性は高いでしょう。

XMLのコードの記述例
図1:XMLのコードの記述例
(画像をクリックすると別ウィンドウに拡大図を表示します)

   Flex 2はプログラミング言語としてActionScript 3.0を利用します。これは、JavaScriptの標準規格ECMAScriptに準拠しています。そのため、JavaやJavaScriptの経験者であれば、言語の習得や基本的な開発手法の理解に苦労することはないでしょう。主なロジック部分はクラスベースで開発することになりますので、この点もなじみやすいでしょう。

   またFlex 2の開発環境「Flex Builder」は、Javaの開発環境Eclipseのプラグインとしても利用できるため、開発環境の移行コストが少なく済むこともメリットです。


つまづきやすい点

   JavaやJavaScript開発者にとって問題となるのは、Flashの特性を理解する部分でしょう。なぜなら、Flex 2が生成するのはFlash Player上で動作するFlashファイル(拡張子「.SWF」)だからです。

   これまでのFlashプログラミングにおいても、簡単にできそうだと思ったことでもその独特な仕様のために、なかなか実現できないことがありました。これは、FlashがWebアニメーションのためのオーサリングツールから生まれているという特性が影響しています。

   例えば、Flashでは時間軸を管理する「タイムライン」にそってオブジェクトが生成破棄されるため、「存在する」と思っていたオブジェクトが破棄されていたり、オブジェクトが生成されるタイミングによって、うまくオブジェクトを操作できなかったりすることがあったのです。

これまでのFlashプログラミング(ドローツールやタイムラインで動きのあるアプリケーションが作れる)
図2:これまでのFlashプログラミング
(ドローツールやタイムラインで動きのあるアプリケーションが作れる)
(画像をクリックすると別ウィンドウに拡大図を表示します)

   ActionScript 3.0になって、オブジェクトの構造が整理されずいぶん使いやすくなりましたし、Flex 2ではタイムラインを意識することなくプログラミングすることもできるようになりました。しかし、それでもFlashの特性を理解していないと「どうして動かないのだろうか」と悩むこともあるかもしれません。

Flex2 BuilderのFlashプログラミング(タイムラインがなくなり簡単にコンポーネントが配置できる)
図3:Flex2 BuilderのFlashプログラミング
(タイムラインがなくなり簡単にコンポーネントが配置できる)
(画像をクリックすると別ウィンドウに拡大図を表示します)

1   2  3  次のページ


ウノウ株式会社  酒徳 峰章
著者プロフィール
ウノウ株式会社  酒徳 峰章
ウノウ(株)プログラマ。ソフト企画「くじらはんど」にて、オンラインソフトを多数発表。代表作は「テキスト音楽『サクラ』」や「日本語プログラミング言語『なでしこ』」など。オンラインソフトウェア大賞2001入賞。2004年度IPA未踏ユースでスーパークリエイターに認定。著書に「ゲームプログラミングで学習するActionScript(Flash8/MX2004)」など。


INDEX
第4回:Flex 2導入にあたってのポイント
Flex 2を実際に導入する前に
  実行速度と処理速度
  今後の期待