代码之家  ›  专栏  ›  技术社区  ›  Alex L

AMF仅用于闪存吗?

amf
  •  3
  • Alex L  · 技术社区  · 15 年前

    我想知道我是否应该在我所有的web服务中使用它。 没有flash虚拟机,它仍然很快吗?

    3 回复  |  直到 15 年前
        1
  •  3
  •   Heath Hunnicutt    15 年前

    这个问题可能有两个答案。一个答案是关于作为协议的AMF,另一个答案是关于实现。

    作为一种协议,AMF产生的输出很小,并且去掉了大部分冗余。与类似的SOAP实现相比,AMF将使用更少的网络流量字节。在某些应用中,这可以被认为是“更快”。

    如果编码AMF的实现是快速的,AMF也可以是快速的。Actionscript虚拟机可以非常快速地对其进行编码。但是,您声明将不使用FlashVM。在这种情况下,您可能会考虑使用Python。对于Python,有两种开源选择:PyAmf和AmFast。据报道,在编码方面,AmFast比PyAmf快十八(18)倍。

        2
  •  2
  •   Adam Harte    15 年前

    AMF是专门为Actionscript设计的,但它只是一种基于SOAP的二进制格式。您可以在任何地方使用它,但客户端和服务器都需要了解AMF。

    many libraries 有很多不同的服务器端语言可以理解AMF,但我不太确定除了Flash之外,在客户端还有哪些地方需要使用AMF。

        3
  •  1
  •   rakslice    13 年前

    • 更小,因此响应在网络上传输的时间比在更大的格式上传输的时间要少(这会影响到您,无论您使用的是什么AMF),并且
    • 更接近客户端的本机格式,因此客户端需要做的解析工作更少(这主要是Flash Player的一个优点,尽管它可能比XML更接近任何客户端的本机格式)。

    AMF的性能与Flex使用的其他协议/格式进行了很好的比较: http://www.jamesward.com/census2/ James Ward's own pure JavaScript AMF decoder

    推荐文章