Home > ActionScript > Macromedia Flex とは?

Macromedia Flex とは?

■参考URL : ">MacromediaのFlex紹介FLASH

個人的に魅力を感じている「Rich Internet Application(略:RIA)」の流れをくむ同社の新ソリューション。上記URLのFLASHプレゼンテーションは同社の新製品「Flex」の紹介だけでなく、前半部分で明瞭かつ簡潔に「RIA誕生経緯&導入メリット」について説明してくれています。

Flexは半年くらい前に同社サイトにて自画自賛的盛り上がりを見せていたのを覚えていますが、当時は 個人的に Flash + ColdFusion 構成でのRIAアプリに思いを馳せていたので、どんなアーキテクチャなのか知ろうともせずに「む、Flashの競合か? ColdFusionキラーか?」と脊髄反射的に敬遠してました。

で、前述のナイスなプレゼンテーションを見た今、自分への備忘録ついでに Flex とはナンなのか?Flash/Coldfusion との違いは?位置づけは?について簡単にまとめてみました。同プレゼンの補足資料として役に立てば幸いです :

簡単な概略

リッチなユーザインターフェースを持つ業務アプリを簡単に開発・導入することのできるサーバサイドソリューション。実際の中身は

  • クライアントからの処理要求を実行する常駐プログラム/Daemon。動作させるには別途アプリケーションサーバが必要。
     
  • 同常駐プログラムでのみ解釈可能なOOP前提のスクリプト言語。ユーザインタフェース(入力フォーム等)を記述する。記述書式がXMLの書式に準拠しているところがアピールポイントらしい。言語の名称もそのまんま「MXML」ってつけられている。
    ※U/I周りのビジネスロジック(入力値エラーチェック等)は Flash で使われているスクリプト言語「ActionScript」で書く必要があるそうな。
     
  • 同MXMLスクリプトでの開発作業を支援する為のIDEツール。名称は「FlexBuilder」。Visual Studio のように視覚的にU/Iフォームを作成できる。

の3点セット。

どんなアプリケーションサーバと組み合わせることが可能?

現時点では J2EE (Java) 系アプリケーションサーバのみサポート。Flexの常駐プログラム自体が Java で書かれている為、Java系サーバソリューションとの親和性を売りにしている模様。

※同社サーバソリューション製品「ColdFusion」は J2EE系アプリサーバだけでなく、apache との連携も可能だったので「Flex + apache もイケる?」と思いWEB調べてみたんですが... どうやら無理なようです。

Flex 使ってサーバサイド系処理は何でも出来る?

DB接続や外部ファイルの読み書きは基本的にFlexで実装してほしくは無いはず。※サポートされている/されていないは別の話。

Flex はあくまでも「リッチなユーザインターフェースの提供」部分を担うソリューション、といった位置づけの製品。小難しいDB接続や複雑なデータ構造の作成・編集処理は 別途 サーバソリューションにて実装してほしい模様。

  DB接続や外部I/O処理+データ構造体作成(J2EEアプリケーション)

  ↓

  データ構造体を受け取る 〜 それをユーザインターフェースと結合させた
  後に Flash アプリとして クライアントに提供(Flex)

といった役割分担を想定している。Macromediaは前者を「バックエンド処理」、後者を「フロントエンド処理」とか「プレゼンテーション層」とかって表現を用いている。

※バックエンド処理とフロントエンド処理(Flex)との通信手段にはSOAPプロトコル(WEBサービス) を採用しているため、バックエンド処理は必ずしも Javaソリューションである必要は無いはず。例えばSOAP喋れる Perl CGI でも代用可能。

クライアントアプリには何が使える?

Flash Player (Flash Plug-in)のみ。
クライアントアプリは Flash で無ければならない。

早い話がサーバ上にある MXML ソースコード(拡張子 .mxml)にHTTPでアクセスすると コンパイルされた Flashアプリ (拡張子 .swf)が返ってくる、って仕組み。

てことはFlexってFlashの競合製品?

Flexで作れるものはFlashでも作れる。
※どちらも最終的には .swf ファイルを生成する。

でもリッチなユーザインターフェースを作るだけなら、Flex は Flash よりもずっと簡単に作れる。
= 競合製品というよりは 「ある機能だけに特化した」姉妹製品。

てことは Perl CGI や ColdFusion 等のサーバサイドソリューションの競合製品では無い?

競合製品では無いです。こいつらがデータ構造体を作成し、Flex はそれを受け取った上でユーザインタフェースをクライアントに提供する仕組み。

情報更新処理も、Flexから入力情報データ構造を バックエンド側に渡した後に、バックエンド側で DB接続〜更新処理などを実施する必要がある。

2005/02/10 追記 : しんちゃんのおうちさんのこのページにて、Coldfusionユーザから見たFlex についての開発者Ben Forta氏の発言がまとめてありました。

で、Flexって買うと幾ら?

  • 常駐プログラム 2CPU ライセンス
  • Flex Builder 5クライアント ライセンス
  • 1年間のメンテナンス&サポート

で、約160万円だそうです。
http://ascii24.com/news/i/soft/article/2004/09/08/651297-000.html

高いか安いかは実際アプリ作ってみて、開発効率や保守/メンテナンス性を検討してみないとわかりませんね。あ、ビジネスユースに限定した話ですけど(個人での導入はきっついなぁ)。

その他参考URL

Macromedia Flex FAQ
(株)IT Frontier さんのサイトにあったFAQページ。本家MacromediaのFAQページと内容は同じですが、 こっちの方が読みやすかったです。

Macromedia Flex & Flex Builder Fan
Nero_Teruさん運営のFlex専門技術系BLOG。関連情報へのリンクが充実してます。

Flex のページ
卓志さん運営のFlex専門技術系BLOG。Flexのインストール方法や技術的FAQがあっていい感じです。

@IT リッチクライアントの最右翼FlexとFlashの違い
@IT の記事。Flex と Flash の違いについて。

Comments:1

しんちゃん 2005-02-10 (木) 22:38

はじめまして。
トラバありがとうございました。
マクロメディアつながりでしょうか。
私は、FLASHは全然だめ。

とてもよくまとまった記事がたくさんありますね。
勉強になります。

これからも、よろしくです。

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Remember personal info

Home > ActionScript > Macromedia Flex とは?

Search
Feeds

Page Top