我有一个运行PHP的网站,我需要在Android,iOS和Windows Phone平台上开发相同的应用程序。我想我需要创建Web服务来从网站上获取数据,但我不是很熟悉它。
可以在所有平台上使用的兼容性和易用性观点中哪一种方法最佳:
1)基于休息的Web服务 2)基于SOAP的Web服务 3)任何其他方法
同样可以在所有平台上轻松使用的最佳响应格式是什么,并且内置SDK支持解析它们:XML / JSON / SOAP
如果有人遇到过这种情况,请提出建议。感谢任何回复,因为我必须开始实施相同的ASAP。
谢谢, MG
答案 0 :(得分:4)
涉及多个平台和易于开发的当前工作和经验只是使用通过OAUTH签名的JSON over HTTP。
HTTP,因为它在支持Web浏览器的每个平台上都可用(以及那些不通过使用libCURL的平台),并且还允许您在必要时使用SSL,并且具有非常着名的服务基础架构以实现可伸缩性。
JSON,因为它遵循可编程对象表示法,允许您在HTTP请求正文和响应正文中传输可解码结构。有很多库,特别是对于您正在经历的平台。这使得从数据流和语言之间推送和拉取对象变得非常快(PHP服务器/ C ++客户端)。
OAUTH,因为它是一个简单但令人惊讶的良好身份验证协议,使用HTTP可以很好地识别您的应用程序和您的用户,所有这些都不会通过不安全的链接以明文形式传输密码(令牌)。
显然,有一件事要始终记住安全性,因为您将应用程序提供给客户端设备,您无法保证使用您的Web服务的客户端是您构建的客户端。如果你写了一个成功的产品,你会发现你的客户被黑了,它的通信中断了,其他伪客户端也使用了网络服务 - 当然这完全取决于产品的功能和能力。不幸的是,移动应用程序世界充斥着被监禁设备上被黑客入侵的客户。但是,如果您偶然可以利用这些客户,那么服务会更好! (例如,在您控制的服务器上存储和验证的具有高级购买的免费游戏)。对于本说明,您不能假设您的应用程序OAUTH令牌可以保证是安全的,OAUTH不是为了保证用户的身份(因为他们的令牌可能被盗)但是它很好地降低了伪造的能力用户身份验证,但没有首先获得对该用户帐户的访问权限。
祝你好运!