Adobe Flexは、一部でしか盛り上がっていないと思ってたし、「XMLでGUIを組み立てる」という発想が???だったので、私は長いこと敬遠していました。しかし、最近の Apollo vs WPE の記事にあるように、急激に盛り上がっていて、どうやらこれからは、こういった手法が標準になってくるのかもしれない。
というわけで、ちょっと焦って、Flex2を触ってみることにしました。
Flex 2 SDKをダウンロード、展開して、binをPATHにいれればインストール完了。Flex2を理解するためのドキュメント一つを選ぶとすれば、「イベント処理」。これをこなせば、Flex2とはなんぞやが理解できると思います。
Flex2とは、MXMLからswfにコンパイルする道具です
コンパイラ言語にJavaを使ってはいますが、MXMLもswfも、Javaとは関係ありません(ココに惑わされないでっ)。出来上がったswfとサーバサイドとの連携は、従来どおり、LoadVarsやXMLやAMFをつかうので、ランタイムのサーバサイド言語は何でもいいです。
要は、swfを、Flashで作成するかMXMLで作成するか、だけの違い。のようです。
Flex2が、Flashに比べて何か新しいか?と言われれば、
何も新しいことはありません。
しかも、ActionScriptがわかる人なら、MXMLはすぐに理解できます。MXMLで作る(新しい仕様を覚える)くらいなら、Flash+ActionScriptで十分。と思う人は多いはずです。
DOMやSwingやVBなどのコンポーネントベースのUI開発ができる人、かつ、JavaScriptがわかる人なら、MXMLはスグに理解できます。
Flashを使わないで、swfを作成するための道具。と言うこともできるのではないでしょうか。
プログラマにとっては、選択肢が増えてうれしいことでしょう。
冒頭の記事によれば、MXMLという中間媒体を使うことによって、デザインとプログラマの分離(またか!)を狙うとのこと。
Fireworksでデザインしたものを、MXMLとして出力し、プログラマがMXMLにロジックを埋め込む。というワークフローが可能になる。
Dreamweaverでデザインしたものを、HTMLとして出力し、プログラマがCGIロジックを埋め込む。のと同じ。
ここでアタマをよぎるのは、HTML→CGIのワークフローが何年かかってもうまく機能しなかったという事実。Flex2を使ったからといって、明確な分離ができるのかは、疑問です。同じことがおきるとすると、MXMLという余計な中間媒体は、面倒を増やすだけかもしれない。
ここんところの方法論やツールの確立は、観察しなければならないところです。そうでないと、またベンダーの謳い文句に踊らされることになりますから。。。
MXMLがXMLである点、コンパイラがJavaである点は、楽しみです。
MXMLからの生成物をSWFに限定する必要はないですし、膨大なJavaリソースとどんな風につながっていくのかは見モノ。それに、コンパイラがJavaである必要もないわけですし、・・・無限ですねっ。
いずれにしても今の段階で、私のような小さい事業がFlex2に急ぐ必要はナイ!と思いました。敵を知り、とりあえず安心したので、
いったん封印しまーす。