Flex考察

Flexってなんでしょう?私が一番最初に気になったのはFlashFlexの違いって何で、どういう使い方をするもんなんだろう?って事です。昨日Flexセミナーに出てきたのでその影響で自分なりの考えを書き出してみます。

もうぶっちゃけて言えば、Flashはアニメーション寄りで、Flexはアプリケーション寄り。Flexを使う事によって、Flashではできない事ができたりはしません。MXMLを記述して、動的にswfへコンパイルされますが、結局はswfなので、Flash Playerでできな事はFlexでも実現できません。

ではFlexはどのように使うか。豊富なコンポーネントが用意されていて、Flex Builderにより2Wayの開発ができます。業務系アプリケーションをFlashで構築する場合は、従来のVisual Basicと同じような開発の仕方が可能です。よって今までのFlashのようにプログラム寄りな人がとっつきにくい部分を、完全にプログラマ寄りにしてくれています。Flexプログラマにとってとっつきやすいものです。

ただし、Flexを使う場合は、Flashでやっていたアニメーションや見た目重視なGUIを作るには向いていません。既にあるコンポーネントを貼り付けていって、アプリケーションを作る。本当にVBのような開発が向いています。アニメーションを駆使したりするものは、Flexではなく、Flashで作らないと無理です。Flexでリッチな見た目を実現するには、Flashとの連携が必須となります。Flex BuilderそのものにはFlashのようなデザイン機能は無く、タイムラインなんて概念もありません。複雑なアニメーションを作成する場合は、Flashでswfを作成し、Flexが読み込むようにするしかないと思います。

ではFlexを適用する場面はどこか。最初から用意されているコンポーネントだけを使っても問題とならない業務アプリケーションを構築する場合(見た目を気にしない)に、大量の人を投入して、分業する場合はFlexは向いています。ただ、私が考えるにFlexは高い。Flashを使って開発した場合と、Flexを使って開発した場合で、大きな違いを見出せないのならば、Flexは単なるコスト高な技術となってしまいます。どこまで行ってもFlexは作業の効率化に尽きると思います。FlexFlashと同じ事をするなら、開発期間が非常に短縮できたると。ただ現状だとFlash Playerはファンクションキーのフックや、IMEの制御が完全にはできないので、リッチな操作性というのもいまひとつです。

Flexは従来のFlashによる開発より、格段に開発効率を向上させる事ができますが、Flashのようなアニメーションを駆使したリッチな見た目はFlashとの連携が必要となります。