tags:

views:

254

answers:

2

What are the difference between them?

+4  A: 
  • AMF 0: Introduced in Flash Player 6 in 2001 and remained unchanged with the introduction of ActionScript 2.0 in Flash Player 7 and with the release of Flash Player 8.
  • AMF 3: In Flash Player 9, Action Script 3.0 was introduced. The new data types and language features made possible by these improvements prompted AMF to be updated.
  • AMFPHP: Is a free open-source PHP implementation of the Action Message Format(AMF).
aeby
+2  A: 

Programs/Frameworks like AMFPHP/ZendAMF tend to fall back to AMF0 unless it uses a specific AMF3 feature. AMF 3 can pass a lot more things by reference, as well as supports sending a ByteArray and XML objects.

From the Specification:

  • Object traits can now be sent by reference
  • Strings can now be sent by reference
  • int/uint type support
  • flash.utils.ByteArray type support, can also be sent by reference
  • flash.utils.IExternalizable support
  • Variable length encoding scheme for integers to reduce data size
  • References are sent using variable length integer
  • String UTF-8 length uses variable length integer
  • Array count uses variable length integer
  • A single Array type marker covers both strict and ECMA Arrays
  • Dates no longer send timezone information
  • Dates can now be sent by reference
  • XMLDocument UTF-8 length uses variable length integer
  • XMLDocument can now be sent by reference
  • XML type support, can also be sent by reference
  • XML UTF-8 length uses variable length integer
  • ByteArray type length uses variable length integer
  • Boolean true and false are now sent as one byte type markers
  • Unsupported type marker has been removed
  • Reserved RecordSet and Movieclip type markers have been removed
AlReece45
A big and important difference to most of us is ByteArray for sure.
Mondain