作为开发者,了解新技术,新的工具是必不可少的,有时候发现一个好的开发工具,使用起来非常顺手,效率也提高了, 然而如果不了解新的技术,不了解这个行业的发展趋势,那样的后果是不堪回首的,反正,与时俱变是没有错啦,所以今天就来说说每个移动开发者都应该知道的Baas。

那么什么是Baas?

前一段时间在知乎上看到AVOSCloud(现在改名叫LeanCloud 了),不知道这是什么东西,偶尔在微博看到有人说在用, 昨天有无意间看到了,就索性把这个弄清楚了,这个东西叫Baas(又称mBaas),全称叫Backend as a Service(后端作为一种服务), 怎么说呢,为移动应用开发者提供后端服务; 作为一个移动应用开发者(Android & iPhone),除了开发应用程序,还要做后台的服务器端,当然,大多移动应用开发者并非都懂后端开发, 这让一个应用应用开发者开发一款应用不容易,然而有了Baas,开发者就可以不用管后端开发了,Baas 提供商,提供了我们最常用的功能,比如数据存储,应用分析,IM 等功能,让开发者把主要精力放在应用本身,大大提高了效率; 当然也不一定是移动应用开发者,当然也可以Web 开发,当初Baas 主要是为了解决移动应用开发者的后端服务问题,Baas 也提供其他的服务;

那么Baas 都提供哪些服务呢?

Parse 为例,主要有以下功能:
- 消息推送
- 数据分析
- 保存数据到云平台
- 简单的社交服务
- 本地数据储存
- 在云服务上运行客户端代码
- 后台工作
- 实时查看应用程序的数据,数据推送,日志等

其实可以吐槽一下,其实实现的功能比较基础的,一般有后端开发经验的开发者,也不是什么难事,但是自己要搭建服务器,还要一系列的服务要实现, 也是费时费工,有这样的服务,提供的简单的API,使用起来上手非常容易,也提供了一些 Demo,只要自己在服务后台创建应用,申请API_ID,API_KEY就可以使用。

Baas 服务商都有哪些呢?

2013年4月,Facebook收购Parse;2014年6月,苹果在一年一度的WWDC上发布了CloudKit;等到了2014年10月份,Google也出手收购了Firebase。
——来自 PingWest

从巨头的态度,就已经看出他们对Baas 的态度,能让移动开发更家简单,才会吸引更多的开发者;当然Baas 的厂商也是层出不穷,而且提供的功能也有各部相同,所以作为一个移动开发者,选择一个适合自己的服务尤为重要,所以接下来就给大家介绍几个知名的Baas 服务,以及他们的提供的功能。

Appcelerator Cloud

它要依赖Appcelerator Titanium SDK 一起使用,官方宣称目前共有265728526 设备运行着Appcelerator Cloud 服务提供的应用程序,客户不乏有Ebay,vmWare;

Parse

也算是特别出名的,刚刚介绍Baas 的时候,就拿它当例子,他的出名更归功于跟了Facebook;

UserGrid

Apache 提供了一个Baas 框架,支持多平台,

LeanCloud(AVOSCloud)

LeanCloud 和Facebook Parse 提供的重合度很高

  • 列表项目

  • 社交IM 服务

  • 消息推送服务

  • 数据分析

  • 支持任何类型的结构化 / 半结构化数据,还有地理位置存储

  • 并且提供CDN 存储

  • 云代码

  • 集成GitHub、Bitbucket 或 CSDNCode

  • 对每一个应用,每个月免费提供 500 万次的请求配额

除了上面这些,国外的比如KinveyStackMobApplicasa,名气都是很大,他们提供的功能大都很全,很强大,当然也有提供专有的服务,比如消息推送,IM,分享等等,就不意义介绍了。

下面就说说国内的,国内的Baas 服务随着国内移动开发的的热潮,也如雨后春笋般发展,比如:

  • 友盟,提供了应用分析,消息推送社会化分析,如果你仔细注意,友盟已经被阿里收购,也看出国内的巨头也对Baas 足够的重视;

  • Mob - ShareSDK,又比如专门做社会化分享的,几乎集成了国内外的主流社交网站;

  • 极光推送,专门做推送服务;

除了上面的这些,还有其他的比如应用测试,应用分析等等很多,就不一一列举了。

到了最后,选择一款适合的自己的Baas 服务也是不易的,比如要考虑到以后发展的扩展,各种Baas 的对比,Baas 服务的安全问题等等都是我们该考虑的问题。


参考