S2Flex2のBeta2を本日リリースしました。
変更内容は以下の通りです。
- GatewayをAMF3ベースの実装にしました。
- サンプルを追加しました。
Beta2では、開発記(7)のエントリーでもすこし触れていますが、AMFGatewayがAMF3ベースのものになっています。
AMF0ベースでは、サーバロジックを呼び出した際に戻ってくるObjectをAS3のオブジェクトに変換する際に、型が失われてObjectクラスになってしまいました。
AMF3ベースになったことで、サーバから返されるデータがAS3のクラスにマッピングされるようになります。
S2Componentも少し改善されています。
これまでは、サーバロジックを呼び出すときには、remoteCallというメソッドを使って呼び出していました。
amf.remoteCall("calculate2",addDto);
Beta2では、メソッド名を使って呼び出せるようになります。
amf.calculate2(addDto);
メソッド名で呼び出すのは、開発当初より考えていたのですが、なかなか実現していませんでした。
キーワードはこれでした。
use flash_proxy;
flash.util.Proxyのドキュメントのサンプルと同じようにかいてもコンパイル時にエラーになっていたのでなかなか気づきませんでした。
namespaceを利用したメソッドをoverrideするときには、明示的に宣言する必要があるようです。
また、サーバロジック呼び出し時に例外が発生すると、Flex2側で例外情報を受け取ることができませんでしたが、Beta2で受け取れるように修正しました。
これまでのRemoteObjectタグの使い方に少しだけ近づきました。
S2Flex2
http://s2flex2.sandbox.seasar.org/ja/index.html
Flash.util.Proxy(Livedocs)
http://livedocs.macromedia.com/labs/1/flex/langref/flash/util/Proxy.html
この記事に対するコメント