Flex Builder Beta 2 "Moxie"での AIR アプリケーション開発で PHP 側のコントローラ(gateway.php)と Remoting でのデータのやり取りを行う AS 側でコントローラ的プログラムを開発しようかなと思ったんで、何を使おうか考えていたのですが、最初の2つ(RemotingObject、Lightweight Remoting Framework)は自分なりの理由で回避して
S2Flex2-components を使用することにした。
(1) RemotingObject コンポーネント
これはまず config.xml で gateway URL を設定しないといけないのが面倒で、プログラムも多少冗長的で面倒。
(2) Danny Patterson の AS3 Lightweight Remoting Framework
View ときっちりロジックを分けたかったので、AS 側で完結できるんで便利かな〜と思ったんだけど、処理が増えた時に管理が面倒そうでやっぱ汎用性に欠ける。
(3)S2Flex2-components
これは s2flex2-components.swc を Flex Builder の Source-Path に追加すれば Flex コンポーネントとして使えるし、処理毎に一括にまとめられるので便利で管理しやすい。
しかし、確か Beta 1 までは Source-Path に追加して、application に xmlns:s2="http://www.seasar.org/s2flex2/mxml" 名前空間を追加すれば <s2:S2Flex2Service /> で呼び出されていた気がしたけど、Beta 2 では何故か Build 時のエラーとして「Could not resolve <s2:S2Flex2Service> to a component implementation.]と表示された。
解決策が分からないので他の方法でいこうか迷ったんですが、検索したらコンパイル時に認識されないという様な事を書いている人がいたので、s2flex2-components.swc を下記の libs ディレクトリに明示的にコピーしてプロジェクトを Build したら動いた。
【Windows のコピーディレクトリ】
C:¥Program Files¥Adobe¥Flex Builder 3/sdks/3.0.0/frameworks/libs/s2flex2-components.swc
【MAC のディレクトリ】
/Applications/Adobe Flex Builder 3/sdks/3.0.0/frameworks/libs/s2flex2-components.swc
ちなみに Adobe Labs で Adobe Flex Builder 3 Public Beta 3 がリリースされましたね。いよいよ Flex 3 の正式版近し!
【参考サイト】
RemoteObject
http://www.sephiroth.it/tutorials/flashPHP/flex_remoteobject/
AS3 Lightweight Remoting Framework
http://osflash.org/as3lrf
S2Flex2-components
http://s2flex2.sandbox.seasar.org/ja/
http://d.hatena.ne.jp/hirossy1977/20070507/1178548033











