Parse 构建移动APP后台服务(一)

目前正在开发的产品告一段落,有时间总结下经验,也顺便分享一下咱们主要使用的平台-Parse。

什么是Parse?
Parse是一群美国人开发的专为移动APP服务的云计算平台,与现有的其余云计算平台相比,Parse除了提供Restful的service 以外,也提供了官方的iOS和Android SDK。我的认为高质量的client端SDK是Parse区分与其余云服务的核心优点。为何呢?看完个人文章就知道了。

为何要用Parse?
先想一想开发一个简单的须要保存用户数据的APP,你须要作什么。非技术背景的人多半会认为只须要找我的作几个手机界面就好了。慢!身为程序员的我 们会告诉这个不懂技术的朋友(也许是投资人,也许是你的老板),为了保存用户数据及密码,咱们须要创建一个数据库,创建一个服务器,找一个虚拟主机提供商 部署服务,花费几天到几个月的时间开发服务器的代码,尽管这些事情看上去与一个运行在手机上的程序毫无关系,倒是必须而不可或缺的。这些与iPhone开 发无关的前期准备工做阻止了大多数我的或者小团体的创业想法变成实际行动。这时候,小团队的拯救者Parse出现了。只需专著于iPhone上具体需求的 开发,繁琐的后台服务全由Parse包办。

Parse提供的服务?
多数功能免费,少数功能只开放给Pro用户(199$/month),具体状况能够访问官网(https://www.parse.com/plans)。
1. JASON格式的数据保存读取。能够理解为数据库+DAO+Service。No Schema,前台程序员无需预约义表结构,只要创建Object C 对象,保存时就能够自动创建对应面向对象的“数据库表”。传统开发过程当中,整个后台服务的开发工做所有都省去了。
2. 用户管理。用户对象是最经常使用的,Parse提供了PFUser对象,包含了注册登录重设密码等经常使用用户操做,并引入ACL管理对象的权限。
3. 消息推送:支持iOS和Android平台的消息推送。具体的说就是iOS开发者无须再创建本身的消息发送服务器了。
4. 文件存贮:除了类数据库的方式保存对象也支持二进制文件的保存。
5. 隐藏Parse: 默认状况,重设密码,验证油箱等功能使用带有Parse logo的网页和邮件地址。Pro用户能够自定义邮件模版,网页模版,或者要求Parse redirect到本身应用的官网。
6. Facebook和Twitter帐户绑定。就是创建PFUser和Facebook和Twitter帐户的关联。同时Parse的SDK也包含了Facebook和Twitter的SDK。这个应该只对那些面向国外市场的同窗有用。

Parse的SDK包括什么?


第三方的云服务满天飞,好用才是关键。看看Parse团队的介绍,都是些牛人,放出来的SDK的质量也没话说。官方的有iOS和Android, 非官方的基本都全了,包括WP,PHP,Flex Java等等。这里只谈iOS的SDK。除了基本的和后台Restful API的接口外,还包括了一个封装了下来刷新的table view controller,挺漂亮的登录,注册界面,异步读取保存数据接口和Cache。官网上除了各类例子以外,最近还放出了个真正上App Store的项目AnyWall。有兴趣的同窗能够去看看。


好了说了那么多,能够看看代码了。英语好的同窗能够参考官方文档:www.parse.com,或者听我讲讲实际使用的经历,代码例子来自 Parse官方文档和我本人的项目。能够参考 https://www.parse.com/apps/quickstart  创建本地开发环境。

最简单的Parse对象就是下面这个:
程序员

Object c代码   收藏代码
  1. score: 1337, playerName: "Sean Plott", cheatMode: false  



若是用parse保存的话就是:
数据库

Object c代码   收藏代码
  1. PFObject *gameScore = [PFObject objectWithClassName:@"GameScore"];  
  2. [gameScore setObject:[NSNumber numberWithInt:1337] forKey:@"score"];  
  3. [gameScore setObject:@"Sean Plott" forKey:@"playerName"];  
  4. [gameScore setObject:[NSNumber numberWithBool:NO] forKey:@"cheatMode"];  
  5. [gameScore save];  



对应的Request格式为:

复制代码 服务器

Object c代码   收藏代码
  1. objectId: "xWMyZ4YEGZ", score: 1337, playerName: "Sean Plott", cheatMode: false,createdAt:"2011-06-10T18:33:42Z", updatedAt:"2011-06-10T18:33:42Z"  


保存成功后能够在Parse的Data Browser里看到对应的纪录。app

相关文章
相关标签/搜索