从移动应用程序调用哪种Web服务(REST或SOAP)更有效

时间:2012-07-09 16:44:28

标签: web-services rest soap

我必须开发一个移动应用程序,我想知道是否有一个Web服务框架 这使得开发变得更容易,并且在解析消息时提供了可扩展性,安全性和更快的速度。

1 个答案:

答案 0 :(得分:2)

在性能和网络传输方面,由于SOAP的大小和复杂的XML解析,Web Service可能是效率最低的方法。如果您愿意使用AMF,根据我的经验,它是最有效的实现。有许多服务器端支持,包括Java,.NET,php,ruby等。

您可以通过此blog检查不同技术的性能比较,并且可以找到AMF的iOS实现{。{3}}。

简而言之,这是我对众多客户端 - 服务器通信的看法:

Web服务(SOAP)

  • 优点:强类型,冗长,支持复杂数据类型,支持许多服务器平台。大多数客户都会有某种内置支持
  • 缺点:体积极大,不利于网络传输,复杂的XML结构会影响应用程序性能。

Restful XML

  • 优点:如果设计正确,易于理解,尺寸较小的XML与SOAP相比
  • 缺点:没有强类型。您必须编写自己的XML解析器来将数据解析为强类型对象。 XML解析通常是缓慢且低效的。

JSON

  • 优点:易于理解,结构更紧凑。
  • 缺点:没有强类型。无法支持引用的数据。例如,如果您返回十个在其属性中引用同一父级的子级,则最终会得到同一父级的十个副本。

AMF

  • 优点:二进制数据格式,强类型,小网络占用空间以及极快的序列化和反序列化
  • 缺点:并不广为人知。