我负责为iOS应用程序生成服务器后端的项目。
我想正式定义客户端调用的服务接口,以便IOS,Android和服务器团队都可以进行契约优先开发。
在黑暗的过去,我们将使用WSDL并生成RPC样式的客户端和服务器互操作样板。然而,这不是IOS项目的标准。我们也看过Apache Thrift,但没有Swift的代码生成器,Objective-C生成器似乎生成了依赖于已弃用的IOS API的代码。
这将我们带到REST,它可以很好地作为一种移动对象状态的方法。对于那种说“嘿服务器,用这些参数做X并给我回复结果”的对话似乎不太好。我们最终只为特定操作创建服务器端控制器,并通过粘贴器获取正确的参数来“定义”服务的调用约定。合同最后。
有没有一种标准的方法可以为iOS客户端开展契约优先的Web服务开发,或者我只是要将文档视为规范?
答案 0 :(得分:0)
tl;博士:没有。
我不知道做某事的“标准”方式,但很多 今天的客户端/服务器应用程序确实使用了RESTful的一些化身 接口。 JSON是通常的格式。
有一些记录良好的第三方实用程序可以处理 这适用于您的客户端(如REST中的[RESTKit] [1]),或 你可以根据提供的苹果推出自己的实现
等网络库NSURLSession
或[AFNetworking] [2]如果需要,iOS还可以处理基于套接字的通信。 (第三方 lib也存在。)
[1]:https://github.com/RestKit/RestKit [2]: http://nshipster.com/afnetworking-2/