剑指 Firebase ,云开发 — 腾讯云的小B战略能行么?

4,524 阅读13分钟

小程序推出云开发已经有一段时间了,我自己也已经深度的体验了小程序云开发,自此,写下一篇文章来谈一谈我眼中的云开发。

小程序云开发是由腾讯云和微信团队联合开发的产品。腾讯云官网上的对应产品名叫 云开发 TCB。

Parse 、 Firebase 以及他们的模仿者

想要了解云开发,首先要了解云开发是一个什么样的东西,其原型又是什么?

云开发为开发者提供了云存储云数据库云函数,帮助开发者快速构建一个微信小程序,是一个完善的基于云端构建可拓展应用实现的方式。

这种方式我们将其称为「BaaS(Backend as a Service)」。通过组合云平台内的各项能力,BaaS 为开发者提供了整个后端的能力,包括结构化数据存储的数据库和非结构化数据存储的对象存储,以及复杂逻辑运行的函数服务。

Parse 的落幕

BaaS 知道的最多的便是被 Facebook 收归旗下的 Parse 平台,这个平台能够帮助开发者完成数据存储、云端存储、云端逻辑的支持,可惜,被 Facebook 收归旗下后没多久,Parse 便停止了运行。

Parse 目前作为开源的产品,开放在 Github 上,开发者可以自行下载源码进行部署。不过,对于绝大多数开发者来说, Parse 的停止运行,让它的故事就此落幕。实际上,开发者们使用 Parse 便是为了将架构、云计算、弹性等能力交由服务商来完成,开发者专注核心逻辑。开源以后的自部署模式,已经失去了其意义。如今的 Parse 更多是以一个被研究者的身份出现在开发者的服务器当中。

Firebase 如日中天

其次,广为开发者所熟知的便是 Google 收归旗下的 Firebase 了。Firebase 原本是初创公司 Envolve 的聊天产品背后的服务,为其提供了实时数据库、API等能力,后来, Envolve 公司发现开发者们对这种能力非常好奇,便将其开放出来,在 2012 年成立了一个独立的公司来运行 Firebase ,后由在 2014 年被 Google 收购。

与 Parse 不同的是, Firebase 并没有因为被收购而消失在人们的眼中,反而是因为被 Google 收入旗下,一路前行,吃掉了 Google 原本的一些服务,比如 Andord 中类似 iOS 消息推送的服务 GCM (Google Cloud Messageing ) 被 Firebase 收归旗下,并更名为 FCM (Firebase Cloud Messageing )。

如今的 Firebase 整合了 Google 内部的大量的服务,打包出售给开发者们,帮助开发者们更好的实现自己的 App 。Firebase 的服务被分为了应用构建(Build your app)、质量提升 (Improve App Quality )、产品增长(Grow your Business ) ,为用户提供了接近 20 种不同的能力,帮助开发者,一站式解决所有应用的开发问题。

美味书签之后的探索者 LeanCloud

Leancloud 的故事其创始人江宏先生写了一篇博客来讲述 LeanCloud 诞生的故事,这里我就不再复述一遍了。播客的链接我放在文章末尾的延展阅读中,如果你有兴趣,不妨去看一看。简单的来说,就是原 AVCloud 的团队,为了能够更好的开发,进行了中国的落地,并更名为 LeanCloud ,让原有的 AVCloud 的团队以投资人的身份加入。

不了历史,我来说一说我对于 LeanCloud 的看法。 就目前而言,LeanCloud 是市面上比较好用,用户也比较多的 BaaS 服务。不过, LeanCloud 也有其自己的问题,作为一个创业团队, LeanCloud 在技术的累积上是有缺陷的,无法满足开发者的各种各样的需求,目前所提供的服务仅有数据存储、云引擎、云缓存、即时通讯、消息推送、短信,绝大多数场景是够用了,不过,与 Firebase 一比,还是相形见绌。

> 我自己也一直很喜欢 LeanCloud 的团队,他们的团队建设、文化输出做的都非常的好。可惜自己能力不足,无法前往这样的公司就职。

声名不显 Bmob

在 LeanCloud 之前,国内其实还有另外一个提供了 BaaS 服务的服务商 —— Bmob 。Bmob 上线于 2012 年 ,其团队是来自华南师范大学的何少岳。从 Bomb 的官网还可以找到 2012 年发布的新闻动态。

Bmob 我用的不多,最早在研究 APICloud 时看过,不过如今,已经很少接触了。Bmob 给我的感觉更加的贴近国人的需求,除了作为云服务的云数据库、云函数、短信服务以外,还为开发者提供了很多很简单但是很有用的业务,比如 App 的落地页,软件著作权申请等等。这些小功能或许不是很复杂,但是面对一些国内的开发者来说,还是非常有用的。

黯然退场 Willddog

在 LeanCloud 同期,还有另外一个 BaaS 云服务商也很出名 —— Wilddog 野狗云服务。

野狗云服务和 LeanCloud 不同,Leancloud 目标是提供全面的云计算能力,野狗则专注做好实时通信云服务,仅提供了实时通讯和短信两种服务。其公司花费了大量的时间来解决实时通讯的问题,其服务的质量是非常好的。

我与 Wilddog 的缘分还是源自 2016 年参加微信小程序内测,当时 Wilddog 推出其小程序 SDK ,我便去试了一下,的确不错。可惜的是,今年的 3 月 16 日,其官方在公众号 ThinkWild 商发布了通知,因为资金问题停止了新用户的注册,也会在后续用户完全迁出后,停止服务。

Wilddog 的产品、服务做的都非常不错,可惜生不逢时,国内对于实时通讯方面的投入还是不够,野狗即使够野,最终也不得不黯然落幕。

抓住机遇的知晓云

知晓云是 BaaS 云服务市场的新玩家,其背后是知名科技媒体爱范儿 ,在微信小程序出现后,爱范儿就注册了微信公众号「知晓程序」,并上线了小程序商店。

不过,显然爱范儿的野心不止于此, 2017 年 5 月 31 日,知晓云上线了。知晓云主打的是专为小程序提供服务的 BaaS 服务,各项服务都围绕着小程序自身的能力进行构建,最基础的数据、存储、云函数自不必说,还提供了邮件、短信、用户认证以及文章模块、支付模块等一些服务,完全针对小程序开发者进行服务,满足小程序开发者所需。

不过,作为一个科技媒体起家的团队,最终能走多远,技术是否能够跟上他们的野心?我们拭目以待。

腾讯云的 To 移动开发者云服务的探索

实际上,腾讯云为移动开发者提供云服务进行过一次又一次的探索,作为一个外人,我关注到的就三次。

再无下文 TAB

腾讯云最早的针对移动开发者提供的云服务叫 移动开发工具 TAB (Tencent App Builder ),TAB 上线时,小程序还仅仅是有风声要提供,并未正式上线。这款服务是腾讯云和我们在上文提到过的 Leancloud 合作的产物,LeanCloud 在腾讯云的上海节点部署一套服务,这套服务由腾讯云的用户专享,此外,TAB 的数据、存储和流量也使用腾讯云的 MongoDB 、COS 对象存储和 CDN 来提供服务。

当时 TAB 出现后,我一度非常激动,认为是腾讯云抓起了移动端开发者,为移动端开发者提供服务。与 LeanCloud 的合作也是非常明智的,作为国内 BaaS 首屈一指的团队,其产品质量也可以保证,合作可以让 TAB 更加强大。

不过,计划赶不上变化,没过多久,TAB 就匆匆被下掉了,我如今还能找到的,就只有网络上的一些博客,还记录着当时的一些事情,告诉人们,腾讯云曾经和 LeanCloud 合作过一款产品,名字叫 TAB。

在腾讯云官网,至今还有一个活动页面可以访问,是 TAB 上线时为用户赠送 100G 存储 和 100G 流量的页面,算是 TAB 的一个纪念吧。如果你有兴趣,可以在文章的尾部中的延展阅读中找到对应链接。

> 我猜这篇文章发出去以后,这个页面很快就要被下掉了:)

乱七八糟 Wafer

小程序上线后,腾讯云作为腾讯公司自家的云服务,自然是要抢占先机,为用户提供小程序的解决方案。便推出了 Wafer 的方案。

不过,在我看来 Wafer 算不上是一个什么好的产品,其组合形式极为奇葩,采用的是组合腾讯云内部的一系列服务,包括云服务器、云数据库、负载均衡、云缓存等业务,设计出了一套「高可用」、「高弹性」 的产品。而且,为了使用好其架构,你需要基于其提供的 Wafer SDK 来进行开发。如同带着镣铐跳舞。

虽然弹性可以辅助产品成功,但是,过早的进行架构设计以及从一开始就带着镣铐跳舞,使得这款产品从一开始就问题多多,用户使用极为困难

后续,wafer 进行了迭代,迭代出了 Wafer 2 ,并将其集成进入了微信小程序的开发工具当中,可惜,提前进行的过度设计使得这款产品依旧不好用。

一代新星 云开发

终于,云开发出世了。云开发出现在人们的眼中还是因为腾讯云联合微信团队推出了 「小程序 · 云开发」 产品,并免费提供给开发者们使用。

云开发这一次的设计就显得成熟了许多,不再整合传统的云服务器、负载均衡等产品,而是直接使用云函数,并辅以 MongoDB 、对象存储,通过封装后为用户提供服务,让开发者可以更加容易的完成自己的开发工作。

同时,由于都是腾讯旗下的,云开发还可以使用微信的一些私有 API,使得小程序的开发比传统的服务端开发更加的容易,可以预见到,云开发会携小程序之威,呼啸山林。

从其官网可以看到,云开发目前提供的小程序 SDK 是其整个体系的一部分,后续,还会为开发者提供更多的服务,除了文件管理、数据管理、函数服务、静态服务以外,还会逐渐提供触发器、用户管理、统计分析、信道服务、消息服务、AI 服务等。

在未来,云开发会成为腾讯云的 Firebase。

为什么我看好云开发

1. 合乎趋势

云开发的推出带来是对独立开发者、独立产品人的开发环境的优化,云开发的推出让更多的开发者可以独立完成一个项目,而不在受限于团队规模不足,找人难也不再是问题。

长期来看,大的企业形态会逐渐变少,小而美的开发团队足以做成很大的事情,云开发的这种模式,正适合小的团队来完成项目:一个产品、一个开发、一个设计、一个市场,足以推出一款产品,找到自己的用户。

2. 开发者友好

云开发采用的是 Serverless 中的 FaaS (Functions as a service ) 模式,这种模式的特性是以函数为弹性的单元,在面临流量波动时,可以更加容易的完成弹性的操作。

和 Wafer 相比,云开发的模式显然对开发者更加的友好,开发者无需关注背后复杂的架构,花费更多的时间在实际的项目上,研究产品的核心代码,为用户提供更好的服务。

3. 大公司的赛道

BaaS 看起来,似乎并没有什么大公司在做,但实际上,BaaS 是属于大公司的赛道。对于小公司来说,只能够在自己所能做到的点上,做到最好,让大公司也无法比拟。

但是,在产品的丰富度上,小公司是无法比拟的。比如,我使用的小程序的统计 SDK 是腾讯的另外一款产品,MTA提供的,如果将其整合进入云开发,云开发的能力边界将再一次拓展。Firebase 为开发者提供了接近 20 项产品,这些产品大多是 Google Cloud 其他产品能力的封装带来的,这种模式是小公司所无法实现的,只有大公司有足够的场景和团队来进行整合。

在 BaaS 这条赛道上,小公司也可以跑,大公司也可以跑,但是,想要跑的好,还是要看大公司。

云开发对于腾讯云意味着什么

对于腾讯云,新的 CSIG 中的一员来说,云开发可能是下一个有力的增长点。

从流量的角度来看,小程序开发工具的内置和官方文档的集成,使得云开发从一开始就占据了流量的优势。小程序的火爆,会让云开发一同火爆。

从产品的角度来看,更加简单的开发与接入的方式,与原有开发模式并不冲突的开发方式,让云开发更加容易被开发者们所接受

从现金流的角度来看,云开发的产品对于平台的依赖性极高,不会轻易被迁出,只要让用户养成了开发习惯,后续的收入是可以预见会越来越好的

从社会趋势来看,云开发对于小团队、外包团队十分友好,可以快速的开发、上线一款新的应用,小程序开放的主体转移也为此提供了土壤,在未来,小程序的兴起会带着云开发一起,一飞冲天

从对手来看,云开发的对手只有 Firebase ,云开发未来的完全体,也会是 Firebase 。LeanCloud 、Bmob、知晓云之类的可以做的小而美,但是,大公司能够开放出来的底蕴,确实是小公司无法比拟的

延展阅读