0


1

BlazeDSに失望した…​ これらの欠点を回避する方法はありますか?

以前はフレックスアプリにチャートデータを転送するために石鹸Webサービスを使用していましたが、最近、パフォーマンス、便利な入力などのためにBlazeDSの使用に切り替えました。

これらの理由から、JSONの使用への切り替えを検討しています(アプリの他の部分と同様)。

  • flexと通信するためのDTOの急増*(JSONでは、私はただ JsonConfigを使用して、必要に応じてプロパティを除外します。)

  • デバッグが難しい(JSONは平文でよい)。

  • スティッキーセッションを使用しない負荷分散の問題。

BlazeDSでこれらの問題に遭遇した人はいますか? BlazeDSは手間がかかりますか?

`*`個別のDTOの代わりにExternalizableインターフェースを使用できますが、それも苦痛です。

1 Answer


6


リモート処理の使用をgiveめません。 リモート処理のパフォーマンスはJSONよりもはるかに優れています。 ActionScriptにはJSONをデコードするメソッドがないため、プレーヤーに組み込まれているものよりも遅いASライブラリを使用する必要があります。 JSONよりもXMLを使用した方が良いでしょう。

特定のプロパティを一時的なものとしてマークすることにより、必要に応じて特定のプロパティを除外できる必要があります。 ActionScriptには[一時的な]メタデータがあり、そのアイデアはJavaから生まれました。 リモート処理に使用するC#ライブラリはTransientをサポートしています。 BlazeDSもそうだと思います。

適切なツールを使用すると、デバッグが簡単になります。 チャールズを取得する必要があります。 AMF要求および応答メッセージの非常に素晴らしいビューを提供します(RTMPではなくHTTPを使用していると仮定すると、RTMPデバッグについては知りません)。

また、BlazeDSとリモーティングではない何かを選択しているようです。 より多くのオプションがあります。 BlazeDSは、アドビが提供するリモート実装の1つにすぎません。 また、商用のものもあります。 また、多くのオープンソースのリモートプロジェクトが利用可能です。 フッ素と呼ばれるC#用の素晴らしいものを使用します。 オープンソースのJavaオプションはRed5とOpenAMFですが、他にもあると思います。

RTMPとHTTPリモーティングにも違いがあります。 これらのプロトコルのいずれかを介してデータをFlexに取り込むことができ、それぞれに長所/短所があります。 RTMPが提供する機能(プッシュ、ストリーミング)が絶対に必要でない限り、個人的にはHTTPリモーティングを好みます。 HTTPはデバッグが容易であり、ロードバランサーで問題が発生することはありません。コンテンツがバイナリである場合のHTTP呼び出しだけです。