3
|
Piotr Czapla · 技术社区 · 15 年前 |
![]() |
1
5
数
|
![]() |
2
3
我为iPhone OS 3.0创建了一个开源应用程序,展示了如何使用REST&iPhone应用程序中的SOAP服务,使用XML(使用8个不同的iPhone库)、SOAP、JSON(使用SBJSON和TouchJSON)、YAML、Protocol Buffers(Google序列化格式)甚至PHP示例应用程序中的CSV(包含在项目中)。 http://github.com/akosma/iPhoneWebServicesClient 该项目的模块化程度足以支持未来的许多其他格式和库。
http://www.slideshare.net/akosma/web-services-3439269 基本上,我在测试中发现,二进制Plists+REST+JSON和XML+TBXML库是“最佳”选项(意思是:易于实现+反序列化速度+最低负载大小)。 在Github项目中有一个“results”文件夹,其中有一个Excel表,汇总了结果(还有所有的原始数据)。你也可以在3G或wifi中自己启动测试,然后将测试结果邮寄给自己进行比较和研究。
|
![]() |
3
2
使用 json-framework ,使类与JSON进行互操作是非常容易的。 |
![]() |
4
1
如果您想使用XML,请使用plist,因为它在iphone上是本机支持的。
这还取决于你的服务器支持什么媒体类型-顺便说一句,REST并不是一个真正的协议。 |
![]() |
5
1
基本上,如果您使用.NETWeb服务开发,那么您将在负载大小与性能之间做出妥协,除非您使用另一个序列化程序。 Marc的protobuf网络显示了最小和最快的实现:
虽然是二进制协议,但调试起来可能更困难。 如果您使用MonoTouch(即iPhone的C#/Mono)进行开发,并且希望使用基于文本的格式,那么您可能会对我的 Javascript-like type serializer 它已经针对大小和速度进行了优化,与可用的XML和JSON选项相比,它还显示出了适度的优势,即:
下面是一个MonoTouch教程,演示如何从iPhone调用web服务: http://www.servicestack.net/monotouch/remote-info/ |
![]() |
6
1
你能接受一个 在你的iPhone项目库,那么请看一看 yaml cpp公司 : http://code.google.com/p/yaml-cpp/
|
![]() |
7
0
|
![]() |
8
0
我没有看到任何YAML库(尽管这并不意味着没有)。我知道TouchJSON工作得很好,至少还有一个。 JSON比XML或PLIST feed占用更少的空间,但是需要提前考虑一下以获得正确的结构。 pLists的一个很好的方面是,可以将日期作为对象返回,而无需解析。如果您在JSON中传递日期,请确定一种格式,并在任何地方使用相同的格式。NSDateFormatter不是线程安全的,因此如果要使用单个日期格式化程序来节省资源,则必须为每个线程创建一个实例。 |
![]() |
9
0
|
![]() |
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 6 月前 |
![]() |
routern · 如何组合contextMenu和圆角矩形? 6 月前 |
![]() |
DevHome98 · 3D触摸不适用于设备swift 1 年前 |
![]() |
dunoiww · 从全屏返回时如何触发onAppear 1 年前 |
![]() |
Community wiki · iPhone上ivar的继承问题 1 年前 |
![]() |
Community wiki · 查找iOS日历 1 年前 |
![]() |
Community wiki · 有效的IPhone编程技术[关闭] 1 年前 |