flash-django通信——amf、xml还是json?

flash-django通信——amf、xml还是json?,django,flash,Django,Flash,我们正在考虑为使用Django编写的web应用程序开发一个Flash前端。闪存前端将向服务器发送一个简单的“id”,并作为响应接收两个对象。该应用程序将仅对经过身份验证的用户开放 根据我目前的知识(这是Flash的基础),我们可以使用AMF,也可以采用XML或JSON方法。AMF似乎占了上风,因为互联网上有一些例子表明它可以轻松地与Django的身份验证机制合作(大多数例子都使用pyAMF)。另一方面,实现基于XML/JSON的解决方案可能更容易,也不麻烦 非常感谢您的指导。首先,您应该以这样一

我们正在考虑为使用Django编写的web应用程序开发一个Flash前端。闪存前端将向服务器发送一个简单的“id”,并作为响应接收两个对象。该应用程序将仅对经过身份验证的用户开放

根据我目前的知识(这是Flash的基础),我们可以使用AMF,也可以采用XML或JSON方法。AMF似乎占了上风,因为互联网上有一些例子表明它可以轻松地与Django的身份验证机制合作(大多数例子都使用pyAMF)。另一方面,实现基于XML/JSON的解决方案可能更容易,也不麻烦


非常感谢您的指导。

首先,您应该以这样一种方式设计您的应用程序,这并不重要。传输层应该完全封装,使编码格式对应用程序的其余部分透明


就我个人而言,我更喜欢JSON而不是AMF,因为它是人类可读的(这使得调试更容易),并且每种平台/语言都有实现(因此您可以使用JavaScript重用服务器部分)。我更喜欢JSON而不是XML,因为它更紧凑,语义更清晰,更接近于常见的对象模型。此外,它还可以以类型安全的方式传输数字和布尔数据。

首先,你应该以这样一种方式设计你的应用程序,这并不重要。传输层应该完全封装,使编码格式对应用程序的其余部分透明


就我个人而言,我更喜欢JSON而不是AMF,因为它是人类可读的(这使得调试更容易),并且每种平台/语言都有实现(因此您可以使用JavaScript重用服务器部分)。我更喜欢JSON而不是XML,因为它更紧凑,语义更清晰,更接近于常见的对象模型。此外,它还可以以类型安全的方式传输数字和布尔数据。

JSON将probaby复杂度最低,这里有一个伟大的google代码项目,其中包含JSON编码器和解码器:

JSON将probaby复杂度最低,这里有一个伟大的google代码项目,其中包含JSON编码器和解码器:

我们已经在这里的许多项目中使用了pyAMF+Django,安装和运行起来很容易。如果你需要速度,AMF3可能是你最好的选择。这是传输数据的最小/最快的方式,序列化由您负责

另一方面,使用Django设置json也不需要太多工作,它可以让您无需任何额外工作就可以将其他非AMF系统连接到json中。你只需要牺牲一点速度就可以了


如果您认为您需要其他系统来处理后端,或者您认为您可能只使用HTML,或者提供某种非Flash版本的应用程序,我会选择JSON,否则,我会使用AMF。

我们在这里的许多项目中使用pyAMF+Django,安装和运行起来很容易。如果你需要速度,AMF3可能是你最好的选择。这是传输数据的最小/最快的方式,序列化由您负责

另一方面,使用Django设置json也不需要太多工作,它可以让您无需任何额外工作就可以将其他非AMF系统连接到json中。你只需要牺牲一点速度就可以了


如果您认为需要其他系统与后端一起工作,或者您认为可能只使用HTML,或者提供某种非Flash版本的应用程序,我会选择JSON,否则,我会使用AMF。

谢谢。如果我们使用json/xml而不是amf,我需要更多关于用户身份验证的信息。@shanyu:对不起,我帮不了你。但我不明白为什么django不应该为AMF提供内置身份验证,而JSON或XML则没有。你有关于django+JSON/XML和django+AMF的链接吗?django如何对纯HTML前端进行身份验证?通常JSON和XML的工作方式完全相同(假设您通过HTTP使用它们,这是最明智的做法)。谢谢。如果我们使用json/xml而不是amf,我需要更多关于用户身份验证的信息。@shanyu:对不起,我帮不了你。但我不明白为什么django不应该为AMF提供内置身份验证,而JSON或XML则没有。你有关于django+JSON/XML和django+AMF的链接吗?django如何对纯HTML前端进行身份验证?通常,JSON和XML的工作方式完全相同(假设您通过HTTP使用它们,这是最明智的做法)。