JSONKit +lidenbrock 与。 RestKit?(使用CoreData)

Posted

技术标签:

【中文标题】JSONKit +lidenbrock 与。 RestKit?(使用CoreData)【英文标题】:JSONKit + lidenbrock Vs. RestKit?(With CoreData) 【发布时间】:2011-09-01 12:29:09 【问题描述】:

我有点迷路了,如果有人能清理一下,我将不胜感激.. 我需要将我的应用程序中的内容与服务器上的内容同步,并且我有一个工作的核心数据模型。

我了解以下内容:

-将网络上的数据与 iPhone 同步的最佳方式是使用 JSON。

-CoreData 需要从 JSON 翻译,因为 CoreData 不会说网络。

-用this example翻译自己并不复杂 但lidenbrock 是一个用于将 coreData 转换为 JSON 的库。

-RestKit 与 CoreData 集成并内置翻译。

-JSONKit是最快的数据同步方式

之后的问题是我应该使用 JSONKit + lidenbrock 还是使用 RestKit? 有什么建议么?我错过了什么吗?

谢谢。

【问题讨论】:

【参考方案1】:

Restkit 就像一个魅力,它与 JSONKit 捆绑在一起。

"RestKit 使用 JSONKit、SBJSON 和 YAJL 提供 JSON 解析器实现。推荐的解析器是 JSONKit(因为它被认为是可用的最快的 JSON 实现),但是您可以选择任何您喜欢的解析器,并且可以在运行时更改它们。”

但 Restkit 不仅仅是翻译对象,它实际上将 RESTful 请求映射到模型中的操作,从而抽象了在向后端发出 GET、POST、DELETE 请求后所需的所有数据处理。

【讨论】:

一个关于Restkit的简短教程mobile.tutsplus.com/tutorials/iphone/restkit_ios-sdk 如果您正在使用另一种 Web 服务(例如 SOAP)或简单的 JSON,请选择独立的 JSONkit 实现。 我还没有选择网络服务..有什么区别? 这取决于你的后端,我个人更喜欢 RESTful 结构。将服务“mysite.com/stock and mysite.com/stock/15”与“mysite.com/InStock and mysite.com/getStockItem?id=15”进行比较。 REST 不是专注于后端逻辑,而是更加以资源为中心。【参考方案2】:

我一直在玩 Restkit,老实说,我发现其中的很多内容都让人不知所措——尤其是考虑到源代码和文档的更改,这意味着大多数教程都没有针对 Xcode 4 进行更新(所以要小心,如果您正在学习有关 Restkit 的教程)- 不过,在 Restkit 和 github 上有很棒的内容。

如果您想要做的只是数据对象的简单同步,那么我建议仅在您可以控制最终 Web 服务的情况下使用lidenbrock - 与lidenbrock 一样,它需要与 db 对象和 json 进行 1 对 1 映射(即字段名称需要匹配)- 与 Reskit 字段名称不需要匹配,您可以自定义并提供匹配选项。

我最初使用的是 SBJSON 框架,但我现在切换到 JSONKIT(IMO 更快)

虽然我只会在你无法控制最终 Web 服务的情况下使用 Reskit

(reskit 的一个优点是关系管理)

【讨论】:

我还没有选择网络服务..你建议如何选择网络服务? 很多人都在使用 Ruby,将 Sinatra 和其他 gems 用于他们的后端 Web 服务,但我不太喜欢 Ruby。如果您不是,请查看Recess。很高兴您可以快速轻松地配置它,而且主要是通过网络前端。 嘿@Greg Combs 感谢您的评论,我试图为我的应用程序制作一个凹槽后端,但我非常不知所措,因为我是网络开发的新手......你有任何指向教程的链接或使用凹槽作为后端的 iPhone 后端示例?谢谢

以上是关于JSONKit +lidenbrock 与。 RestKit?(使用CoreData)的主要内容,如果未能解决你的问题,请参考以下文章