目前正在开发的产品告一段落,有时间总结下经验,也顺便分享一下我们主要使用的平台-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>

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里看到对应的纪录。

Parse-轻松构建移动APP的后台服务的更多相关文章

  1. 答CsdnBlogger问-关于定时和后台服务问题

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 前段时间写了不少博客,在问答页面也陆续回答几十个问题,之后Csdn乙同学找到我,说要推荐我参加问答类 ...

  2. Android8.0 后台服务保活的一种思路

    原文地址:Android8.0 后台服务保活的一种思路 | Stars-One的杂货小窝 项目中有个MQ服务,需要一直连着,接收到消息会发送语音,且手机要在锁屏也要实现此功能 目前是使用广播机制实现, ...

  3. Android : App客户端与后台服务的AIDL通信以及后台服务的JNI接口实现

    一.APP客户端进程与后台服务进程的AIDL通信 AIDL(Android Interface definition language-“接口定义语言”) 是 Android 提供的一种进程间通信 ( ...

  4. ios9定位服务的app进入后台三分钟收不到经纬度,应用被挂起问题及解决方式

    原来定位服务是10分钟收不到定位信息就挂起定位,如今变为最短3分钟,预计都是为了省电吧. 仅仅要你开启应用的后台定位,而且10分钟有一次定位,那么苹果就不会关闭你的线程.如今变成3分钟.若你的应用开启 ...

  5. nodejs 从helloworld到高质量的后台服务server的一点思考

    ---恢复内容开始--- 新公司用的nodejs作为app和网站的后台服务server,所以最近对nodejs一直在学习,加上之前简单的学习了一点,看了两天后台接口源码,所以就直接上手干活了,下面是我 ...

  6. ASP.NET Core 6框架揭秘实例演示[21]:如何承载你的后台服务

    借助 .NET提供的服务承载(Hosting)系统,我们可以将一个或者多个长时间运行的后台服务寄宿或者承载我们创建的应用中.任何需要在后台长时间运行的操作都可以定义成标准化的服务并利用该系统来承载,A ...

  7. ASP.NET Core 6框架揭秘实例演示[22]:如何承载你的后台服务[补充]

    借助 .NET提供的服务承载(Hosting)系统,我们可以将一个或者多个长时间运行的后台服务寄宿或者承载我们创建的应用中.任何需要在后台长时间运行的操作都可以定义成标准化的服务并利用该系统来承载,A ...

  8. iPhone Anywehre虚拟定位提示“后台服务未启动,请重新安装应用后使用”的解决方法

    问题描述: iPhone越狱了,之后在Cydia中安装Anywhere虚拟定位,但是打开app提示:后台服务未启动,请重新安装应用后使用. 程序无法正常使用... 解决方法: 打开Cydia-已安装, ...

  9. Android 三级联动选择城市+后台服务加载数据库

    技术渣,大家将就着看 首先我们需要一个xml数据保存到数据库,这里我从QQ下面找到一个loclist.xml文件 <CountryRegion Name="中国" Code= ...

随机推荐

  1. ARM TK1 安装kinect驱动

    首先安装usb库 $ git clone https://github.com/libusb/libusb.git 编译libusb需要的工具 $ sudo apt-get install autoc ...

  2. qt创建无qt工程

    qt创建无qt工程,cmake . eclipse 编写makefile  代码

  3. 解决vi显示文件不能全屏的问题

    https://blog.csdn.net/ly890700/article/details/52735092 docker外:   vi ~/.vimrc

  4. Mac电脑如何转换图片格式?ImageWell for Mac转换图片格式教程

    想用Mac电脑转换图片格式?我想你可以借助ImageWell for Mac软件!ImageWell是一款简单好用的的图像处理工具,具有显示,编辑,处理,保存等功能.下面小编来为大家演示在Mac电脑上 ...

  5. Cstring转char、string、int等数据类型的方法(转载)

    Cstring转char.string.int等数据类型的方法 (-- ::) 转载 标签: 杂谈 分类: VC CString 转char * CString cstr; char *p = (LP ...

  6. GO语言range的用法 (2013-08-09 14:08:26)

    range是go语言系统定义的一个函数. 函数的含义是在一个数组中遍历每一个值,返回该值的下标值和此处的实际值. 假如说a[0]=10,则遍历到a[0]的时候返回值为0,10两个值. 下面是一个例子: ...

  7. 剑指offer——25合并两个排序的链表

    题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则.   题解: 使用普通方法,或者递归,注意新的头节点即可. //使用普通的合并方法 class S ...

  8. java 判断int类型为空

    int id = 10; if("0".equals(String.valueOf(id)) || "null".equals(String.valueOf(i ...

  9. nodejs中命令行和node交互模式的区分

    来自:廖雪峰教程 么么哒~ 命令行模式和Node交互模式 请注意区分命令行模式和Node交互模式. 看到类似C:\>是在Windows提供的命令行模式: 在命令行模式下,可以执行node进入No ...

  10. jdbc出现中文乱码的解决办法