Parse Server是一项opensource项目,帮助快速搭建API服务。Parse最早由Facebook推出的一项hosted service,后来被关闭,演变成为了现在的Parse Server。Parse platform目前提供了Parse Server,还有丰富的客户端SDK支持移动网页以及嵌入式应用。
简而言之
简而言之,Parse Server是一个基于REST API的数据库。通过发送类似下面例子的http请求来查询以及修改后台的mongodb数据库:
查询刚刚存储的记录可以通过以下请求:
而搭建起Parse Server开发服务器则只需要以下几步:
Parse Server设置
Parse Server在根本上是一个node.js express的应用。在index.js中初始化各种参数:
客户端SDK
Parse Server客户端SDK初始化极为容易。目前Parse提供iOS (OS X, tvOS), Android, Javascript, .NET+Xamarin,Unity,PHP,Arduino以及Embedded C的SDK。客户端设置仅仅需要提供Parse serverURL以及Application ID。Javascript SDK初始化客户端代码如下:
Production Deployment
实际应用中,Parse Server布置一般选择现成的Production Environment(Heroku,Glitch, Amazon AWS等)。选择这些现成的环境可以保证service的安全以及availability,并且维护起来更加容易。后端的mongodb数据库也可以选择现成的服务提供商,例如mlab。
消息推送
Parse Server消息推送是借助第三方服务完成的。对于Android的推送是通过Google Cloud Message完成的,而对于iOS(OS X,tvOS)的推送则通过Apple Push Notification Service。正由于通过Google以及Apple的服务来进行消息推送,因此Parse Server的配置相当简单。以Android为例,仅仅需要提供Google Cloud Console中创建的apiKey即可:
推送消息实际的发送既可以通过API调用Parse Server也可以Parse Server直接发送:
API权限
Parse Server为数据操作提供了权限支持。通过REST API来对每一个数据表设置权限。例如设置/users数据表的权限为admin可以通过以下的API调用:
Live Query(即时查询)
Live Query是基于event(create,enter,update,leave,delete)的实时数据查询。服务器端通过简单的初始化可以使得一个数据表支持Live Query:
在客户端只要subscribe一个数据表之后,就可以接受任何这个数据表的变化:
用户认证(Authentication)支持
Parse Server支持Oauth以及第三方的authentication(Twitter, Meetup,Linkedin,Google,Instagram,Facebook)。仅需设置中填写相应条目就可以。同时也支持自定义(自行开发)的authentication。
其他功能
Parse Server支持Cache adapter(例如redis),以及file adapter(Google Cloud Storage以及Amazon AWS S3)。通过这些支持,极大的提高了Parse Server处理production当中高负载的情况。