我正在开发一个iPad应用程序,它连接到后端的Django服务器。服务器主要只是一个数据库之上的REST API(这是用TastyPi完成的,用于记录)。
我正在努力了解开发这个的最佳方法,因为我是iOS的新手。
所以有一些相关的问题:
我会想象像Django的ORM,它允许你在Objective C中定义对象,它们以1对1的方式映射到REST Api为你提供的对象。
该库可以抽象所有缓存和本地对象与服务器上对象之间的转换。
简而言之,在哪里可以学习“REST”方式来编写由REST Api公开数据库支持的iOS应用程序?最好是教程,而不是查看现有项目的代码。
答案 0 :(得分:4)
1)对于ORM,iOS具有核心数据,可以让您构建实体并使用对象而不是SELECT语句,LEFT JOIN等SQL语句。
不了解别人,但这就是我通常做的事情:
1)App使用ASIHttpRequest库等库向Web Service发出HTTP POST请求。 (注意,对于后端,我使用Symfony Web框架编写了我的Web服务)
2)应用程序发回JSON响应。
e.g。
{ 数据 { 名字:鲍勃 年龄:20岁 } }
3)使用JSONKit或ASIHttpRequest提供的JSON解析器解析JSON,并将JSON服务器响应转换为NSDictionary。
NSDictionary * data = [[request responseString] objectFromJSONString];
4)现在是否将数据存储在应用程序上取决于应用程序的性质。如果应用程序要搜索当地餐馆,那么您可能不希望保留返回结果的本地副本,因为该应用程序的性质是搜索餐馆。
但是,如果你有一个从他们的帐户下载用户家庭作业的登录系统,那么你可能会在本地将这些数据存储在设备上。
这是Core Data的用武之地,您可以构建复制服务器模型的模型,并在服务器和客户端模型之间进行简单的1对1映射。
希望有所帮助。
答案 1 :(得分:2)
查看Rest kit
RestKit是iOS的Objective-C框架,旨在实现 与RESTful Web服务交互简单,快速和有趣。它 结合了干净,简单的HTTP请求/响应API和强大的功能 对象映射系统,可减少您需要的代码量 写信来完成工作。
它还支持将远程加载的对象直接保存回本地存储
答案 2 :(得分:2)
Parse.com api是RESTful,它负责为数据库构建数小时的样板代码。我不为他们工作,但我确实喜欢这项服务。
答案 3 :(得分:1)