Skip to content

Instantly share code, notes, and snippets.

@numbbbbb
Created February 18, 2016 03:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save numbbbbb/425f0ecf9d6f3142cf2f to your computer and use it in GitHub Desktop.
Save numbbbbb/425f0ecf9d6f3142cf2f to your computer and use it in GitHub Desktop.

最近,Facebook 正在关闭它们家的 Parse 服务 ,一个在 14年被 Facebook 收购的,为移动应用提供后台开发云服务的平台。很多开发者都表示惋惜,甚至感觉被 Facebook 欺骗了。我还为 Parse 主页在关闭服务前夕的一段说明发了推特,它说道:

我不需在这里讨论 Parse 对我们来说是多么重要,他们已经做到了。成千上万的开发者选择了我们。你可以从这个演讲稿中的图片看见开发者们感觉被欺骗了。那些正在使用 React Native,React JS,HHVM,Relay 或者其他 Facebook 服务的开发者们怎么知道在未来一天会不会被 Facebook 突然关闭他们正在使用的服务呢?

当然,你可能会说还有开源项目以及社区,但是开源项目需要维护者,同时项目背后的支持者也是一个很大的问题。Facebook 已经证明了我们不能相信它,这对于那些过去使用 Facebook APIs 或者 第三方社交接口的开发者已经习以为常了。这些我们稍后再讨论,现在让我们把目光转移到另一个社交巨头,Twitter,以及由 Felix Krause 主导的,集成了 Crashlytics 以及其他令人惊讶的功能的移动开发平台 Twitter Fabric。

为了了解 Twitter 过去是如何对待开发者社区,我认为我们需要聊一聊这个叫做 Meerkat 的应用。我稍后会重新讨论 Parse 以及 Facebook,但现在,我们先聊一聊这个叫 Meerkat 的东西。

Meerkat

背景故事是这样的:我住在 Austin TX,这意味着每年的 SXSW 大会我都可以接触到很多增长迅速的创业公司。Twitter,Foursquare,GameSalad 甚至 Four-Hour Work Week 过去都是在 SXSW 创办起来的。这些都是令人熟知的成功案例,同时,每年很多有想法的创业者来到 Austin 演示自己的创意和产品,以寻找更多机遇。而在 2015 年,SXSW 最大的赢家无疑是 Meerkat。

从根本上来说,Meerkat 是一个 P2P 的在线直播平台,用户之间可以直接通过 iPhone 来视频交流。这个应用随后风靡了整个 SXSW 大会。只要你去年参与了 Austin 的 SXSW 大会,你就会到处看见印有 Meerkat 标志的 T恤。每个人都在用 Meerkat 观看在线音乐表演,SXSW Session,甚至实时直播正在进行的午餐,以及他们正在做的每一件事。接着,突然有一天,Meerkat 因为一个很奇怪的原因而被关闭了:

在 Meerkat 用户量正在迅速增长的时候,Twitter 宣布在两小时内取消掉它的 API 获取权限。

如果你稍微了解一些 App Store 的审核机制,你就会知道这是一件多么糟糕的事情,因为即使你在不依赖 Twitter 的 API 来将整个应用重写一遍的前提下,你也无法在两小时内通过 App Store 的审核并上架。实际上,这需要大约三周,甚至更长的时间。

At the height of Meerkat’s launch, Twitter yanked API access right out from under their feet with only 2 hours notice.

对我来说,这并不是什么令人惊讶的消息,但是很多人都想知道为什么 Twitter 会这样做。难道 Meerkat 违背了 API 的使用协议? 或者他们做了些违法的事情?

好吧,并没有。。。

实际上,Twitter 决定扼杀这个这些年来最火的,以 Twitter Fabric 作为后端的应用的真正原因是 它是 Twitter 自家的一个叫 Periscope 应用的竞争对手,我也不想在这里给出这个应用的链接。

所以,回到我们刚才的话题,Twitter 再次希望开发者们大胆地使用它们的开发云服务。唉~

Parse

看吧,我说过我们会重新回来讨论 Parse 的!

正如同一块硬币有两面一样,我们也要这样看待 Twitter 和 Facebook 这两个社交巨头。对于我来说,选择它们其中一个都可能会导致不好的后果。当我想了解一个科技公司未来的发展状况的时候,我总会重复那句名言:Follow The Money。 这句话大概上会告诉你那些大公司是如何占领市场的,特别是那些公开上市的公司。美国的上市公司为了用季度业绩表来讨好他们的股东,有时候还会为此做出有损消费者和合作伙伴的事情。当我看见 Parse 的云服务是如此的低门槛的时候,它确实令我担忧。在我看来,99% 甚至更多的应用都使用了他们的云服务,但他们只需花一些时间和精力就能搭建自己的后端系统了。Facebook 为开发者提供开发工具,尤其是移动开发云平台服务,那么他们这样做的真正动机是什么呢?我觉得答案其实非常简单,他们想要我们开发者的数据,但是现在这些数据不值钱了。他们无法把这些曾经提供给千上万开发者免费使用的后端服务转化成利润,因此决定把 Parse 关闭掉。用 Facebook 的原话来说就是:

我们为 Parse 过去帮助构建了如此多优秀的手机应用而感到骄傲,但是现在我们需要把更多的精力转移到其他地方。

换而言之: Parse 并不能帮我们赚到足够多的钱。

Facebook 大部分的利润来自于他们的广告,正如 Twitter,以及那个超过 Apple,成为世界上最高市值的 Google 公司。实际上,只有一家不是主要靠广告来作为他们大部分的利润收入的公司,那就是 Apple。

Following The Money

我在今天的早些时间发过推特:

It’s true, you really can’t trust these social media companies with your backend so blindly. You have to Follow The Money to find the motivations of the parties involved. If their motivations are not to provide you with a great service that benefits their bottom-line, it’s unlikely it’ll stick around for very long. This is also a great way to analyze your own business if you are a startup founder or CEO. When you work with anyone, you must be certain their financial motivations align with yours, otherwise there will always be a disconnect. This applies to employees, co-founders, partners, and vendors alike.

The Facebook API

在早些年 Facebook 提供的 API 中,你可以很容易地获取用户的信息。这也是为什么有那些来自 Facebook Game 的垃圾邮件的原因,并间接导致 Farmville 这个游戏风靡一时。但是 Facebook 不喜欢这种方式,他们把前面提到过的所谓的 API 的 特权 给了很多应用,包括著名的 Zynga 公司。说真的,你看一下 Zynga 公司的股票行情就知道了:

如果你的业务是基于一个应用,那么你的后端系统就是一个非常重要的部分,甚至你需要牢牢地把它控制自己的手里。一些像 Salesforce 和其他的一些基于云服务的企业花费了将近十年的时间来才成长成今天的巨头,但在今天,他们中的大部分仍然在使用很多需要即时配置的软件。这样做的原因,是因为可以在关键业务上掌控一切。这也增加了像初始化配置及发布项目所带来的维护难度,但是如果没有这些,你的关键业务就会被那些黑暗中看不见的手所利用,用来挖掘数据,用来显示广告。你是否想让他们控制你的后端系统呢?你又有几分相信 Facebook, Twitter 和 Google 这些公司呢?

Build Your Own Damn Backend

只有自己搭建后端服务,这才是稳固地支撑你的应用的唯一途径。我知道这听起来是很困难的样子,但实际上用 Ruby on rails 或者 NodeJS 来构建简单的 API 后端接口并不是一件特别难的事情。坦率说,基于 Javascript 的 event 编写的 Parse 后端对于用 NodeJS in express 编写一个应用,集成那些开发 API 接口而使用的 node modules,还有配置 MongoDB 数据库来说,都有相似的地方。如果这确实听起来很困难,那么只要花上一些时间学习那些网上的教程,你就会意识到这一切对于你来说是多么的容易。或者,来我们公司雇人,他们已经驾轻就熟了。(厚着脸皮做广告)

如果你确实招聘了工程师来搭建自己的后端,请确保你能拿到系统的源代码,还有那些能让不同系统运行起来的开发工具。Docker 是一个很好的方法来配置你的开发环境,还有类似于 Heroku 的服务可以让你更快捷地发布你的 Rails 应用。

Fun Fact: About 95% the way through writing this post, my ironic Twitter embeds trashed all the formatting and I had to reformat the entire thing. ^_^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment