私はAMFを初めて使用し、AMFはおそらく非常に高速であることを学びました。
すべてのWebサービスに使用する必要があるかどうか疑問に思いました。フラッシュVMがなくてもまだ高速ですか?
私はAMFを初めて使用し、AMFはおそらく非常に高速であることを学びました。
すべてのWebサービスに使用する必要があるかどうか疑問に思いました。フラッシュVMがなくてもまだ高速ですか?
この質問には2つの答えがあります。1つの答えはプロトコルとしてのAMFに関するものであり、もう1つの答えは実装に関するものです。
プロトコルとして、AMFは、冗長性の多くが取り除かれた小さな出力を生成します。同様のSOAP実装と比較して、AMFはより少ないバイトのネットワークトラフィックを使用します。一部のアプリケーションでは、これは「より高速」と考えることができます。
AMFをエンコードする実装が高速である場合、AMFも高速になる可能性があります。Actionscript VMは、それを非常に迅速にエンコードできます。ただし、FlashVMを使用しないことを表明します。その場合、Pythonの使用を考えているかもしれません。Pythonの場合、PyAmfとAmFastの2つのオープンソースの選択肢があります。伝えられるところによると、AmFastは、エンコードの目的でPyAmfよりも18倍高速です。
したがって、最終的な答えは次のとおりです。必要な「高速」の種類を決定し、選択できるエンコーダーの機能を比較します。
AMFはActionscript用に特別に設計されましたが、SOAPに基づく単なるバイナリ形式です。どこでも使用できますが、クライアントとサーバーの両方がAMFを理解する必要があります。
多くの異なるサーバー側言語がAMFを理解するためのライブラリはたくさんありますが、Flashを除いて、クライアント側でAMFを使用する場所が他にあるかどうかはわかりません。
AMFは、使用できる他の形式と比較して、次のような意味で高速です。
http://www.jamesward.com/census2/で、 Flexで使用される他のプロトコル/フォーマットとAMFのパフォーマンスの良い比較がありますが、他のAMFクライアント(Jamesでさえ)のパフォーマンスをカバーする比較を見たことがありません。ワード独自の純粋なJavaScriptAMFデコーダー)。