我是AMF的新手,我了解到AMF应该非常快。
我想知道是否应该将它用于我的所有网络服务。 没有Flash VM,它仍然很快吗?
答案 0 :(得分:3)
这个问题可能有两个答案。一个答案是关于AMF作为协议,另一个答案是关于实现。
作为协议,AMF产生的小输出会消除大部分冗余。与类似的SOAP实现相比,AMF将使用更少的网络流量字节。在某些应用中,这可以被认为是“更快”。
如果编码AMF的实现很快,AMF也可以很快。 Actionscript VM可以很快地对其进行编码。但是,您声明您将不使用Flash VM。在这种情况下,您可能会考虑使用Python。对于Python,有两个开源选择:PyAmf和AmFast。据报道,AmFast比PyAmf快十八(18)倍用于编码目的。所以最终的答案是:确定你想要什么样的“快速”,比较你可以选择的编码器的功能。
答案 1 :(得分:2)
AMF是专门为Actionscript设计的,但它只是一种基于SOAP的二进制格式。您可以在任何地方使用它,但客户端和服务器都需要了解AMF。
有许多不同的服务器端语言可以many libraries来理解AMF,但是我不太确定除了Flash之外你还想在客户端使用AMF。
答案 2 :(得分:1)
AMF的速度很快,与您可以使用的其他格式相比,它是:
将AMF的性能与Flex使用的其他协议/格式进行了很好的比较:http://www.jamesward.com/census2/,但我没有看到涵盖任何其他AMF客户端性能的比较(甚至James Ward's own pure JavaScript AMF decoder )。