Flex SDKではグラフが利用でいない・・・

エラー: 型が見つからないか、コンパイル時定数ではありません : PieChart。
実際にFlexでアプリケーション開発をしようと思ったときに真っ先に出てきた問題。
実はFlex Builder2 with Chartingでのみ利用できるらしく、無償のSDKに含まれているmxmlcではコンパイルできない。Flex Builder2に付属しているSDKの場合にはコンパイルは出来るが「Flex Charting Trial」と出てしまうわけだ。
Aajxの対抗馬として有力視していただけに残念。まぁライセンス費用(97,900円)を払えばいいんだけどね。。。

Flexの特性

Flexでもajaxと同じくXMLによる非同期通信は可能だが、メリットとしてAMF(Action Message Format)通信というものがサポートされている。これはオブジェクトデータをバイナリでそのまま通信可能であり、クライアント側とサーバー側のインターフェイスをそろえておけば、位置を意識することなくアプリケーション開発が可能となる。
×○式 観察日記にはさまざまなFlashの外部通信が説明されているので参考にされたい。

s2flex2

あまりにs2flex2のドキュメントがないことに途方にくれつつも問題点を洗い出してみる。
まず、seasarプロジェクトにある
flex2-example-1.00は無事動作させられた。これはAMFによって実現されている。
次にsampleにあるmxmlフォルダのサンプルソースコードをコンパイルしてみようとした。
mxmlc.exe add.xml

Error: Could not resolve to a component implementation.
<s2:S2Flex2Service id=”amf” destination=”addService”
S2Flex2Serviceが解決できないということ。当然といえば当然(mxmlcはFlex2 SDKでありs2flex2を知らない)。おそらくコンパイル方法が間違っているらいしのだが、どうすればよいのかわからない。
ここにはgatewayの設定方法は明示されているが、それはコンパイルがとおったあとの話であって、目下問題になっていることは解決できそうにない。

“s2flex2” の続きを読む

Adobe Flex2の導入

Flex2が実際に利用可能なものなのか技術検証してみました。
Flex2について
Adobeのサイトをご覧いただければわかりますが、FlexはFlashをプログラマの立場から構築できるソフトウエアのことです。
EclipseプラグインもしくはGUIベースのFlex Builder2(30日間限定で無償体験できる/64,900円)、Flex Builder2にチャートの機能を追加した?Flex Builder2 with Charting(97,900円)、無償で開発できるCUIベースのFlex2 SDKがあります。
ダウンロードはこちらからでき、ダウンロードにあたりアカウントの登録(無料)が必要となります。
Flex Builder2とSDKの両方で作成する方法が紹介されているページがあります。これを見ながら、サンプルプログラムを作ってみるとよいと思います。
Flex Builder2の導入ガイド
Flex2 SDKの導入ガイド(FlashとFlexの関係についてもうまくまとめられています)
Flex2 SDKでゲームを作ってみる
実は、ダウンロードの際にホップアップブロッカーによってブロックされていてダウンロードが始まらないというオチがついてました。
Flex2でできることとその利点
ところでFlex2でなにができるのでしょうか?それはこのサンプルを見ていただくと良くわかります。まぁFlashだから当然という見方もありますが、HTML言語では出来ない限界を超えて、ほぼクライアントソフトと同等の表現が出来る可能性を見て取ることが出来ます。(Flash9でなければ背景色だけが表示されていて、何も表示されません。Ver.9へのアップグレードが必要なのですが、ダウンロードページに行ってもアップグレードできないという問題があるようです)
2004年にリリースされたJ2EEアプリケーションサーバの上で動作するため、既存のJ2EE環境の上に導入することができ、Flex Builderを使用することでVBやDelphiなどと同じようにRAD開発が可能となりそうです。
SDKとMXML
詳しくはこちらを見ると良くわかりますが、asファイルからswfを生成することはFlex2 SDKを利用して行うことができます。
Flexはただ単純にFlashファイル(SWF)を作成するものなので、動的にFlexを吐き出してユーザーに見せるといったことが出来ません。対して、Flex Data Services 2ではmxmlファイルからswfを動的に生成して見せることができます。(内部的には、XXX.mxmlがあるとするとXXX.mxml.swfというFlashファイルを呼び出すような仕組みになっていますが、キャッシュとして保持してクライアントに返すため、ファイルの実態としてswfが存在するわけではないようです)
Expressバージョンは無料で利用できるので、こちらでチェックすることが出来ます。
Ajaxのような非同期通信といえるのかどうか良くわかりませんが、Action Script3を利用してイベント発生時に通信を行うことでAjaxのような非同期ぽい通信を実現できるようです。
ところで、MXMLとは何のことでしょうか?
globe.toのサイトによれば

Macromedia Flex Markup Language. Macromedia Flexのプレゼンテーションを記述するためのXML言語。 対抗するものとして、サーバサイド製品LaszloのLZX、リッチメディアクライアントとしてはMicrosoft AvalonのXAMLがある。MXMLはSWFにプリコンパイルしてソースコードの保護を図ることができる。

とあります。つまり、Adobeに統合された今でもここに統合前の名残がのこっているようです。
Flex Data Services 2 Express
Windowsで先ほどのダウンロードページからFlex Data Services 2 Expressをダウンロードして使ってみよう。
インストールしたあと、スタート→プログラム→Adobe→Flex Data Services 2→Start Integrated Flex Server を実行するとWebサーバーが立ちあがります。
http://localhost:8700/samples/
ドキュメントルートはインストール先をC:\fds2にするとC:\fds2\jrun4\servers\defaultに設定されている。なぜかこの直下においてもプログラムを実行できませんでした。設定ファイルを見ていけばいいのかもしれませんが、実行する際には、samplesにおけばとりあえず実行できることを確認しました。

その他参考サイト
Flex User Group

Flex2

動的にAdobe Flash(旧Macromedia Flash)を生成できるFlex2について。
Flexはライセンス費用が非常に高く、一般ユーザーが手出しできるものではなかったが、Flex2になって非常に手ごろになった。
リッチコンテンツとして、Ajaxと並んで注目すべき技術の一つだろう。
実際に使ったレポートを今後掲載していきたいと思う。
Flex 2.0でリッチなWebアプリを作ろう
ところで、Flash9からMacromedia FlashではなくAdobe Flashとなっているのがまだなじめない。。。