Skip to content

Instantly share code, notes, and snippets.

@numbbbbb
Created February 21, 2016 00:16
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/fdf1584fa31524c4b7f3 to your computer and use it in GitHub Desktop.
Save numbbbbb/fdf1584fa31524c4b7f3 to your computer and use it in GitHub Desktop.

您的 Parse 后端一直是个坏主意

你可能刚听说 Facebook 关闭了 Parse,一个前不久被 Facebook 收购的后端即服务

(BaaS)。Facebook的这一举动让许多开发者感到有些失落,甚至有种被背叛的感觉。我在

推特上发了一张 Parse 关闭前的首页截图,很好的诠释了它自己。

我不需要在这强调它的重要性,他们自己已经说明了一切。成千上万的开发者

信任我们。

你可以从这张 Parse 的自我阐述图了解到为何开发者会有被背叛的感觉。为什么大家在知道

React Native, React JS, HHVM, Relay, 或其它 Facebook 的技术在使用过程中有可能会被随

意植入插件盗取信息的情况下还要继续使用他们?

当然,这些项目都是开源的并且社区可以接管它们,但开源项目需要维护人员以及公司的支持者

对开源项目来说是个巨大的福音。虽然 Facebook 已经证明我们不能信任他们,但是在过去这

种情况不会让任何使用过 Facebook API 或者使用第三方社交媒体 API 后来无法访问的人感到

这般意外。我决定过一会儿再深入讨论这个问题,先让我们暂时换个话题去讨论房间里另一只

大象,Twitter... 特别是 Twitter Fabric,这个现如今持有 Crashlytics (统计 crash 的工具)并

且集成了一堆由 Felix Krause 完成的不可思议的工作的移动应用开发者平台。

但是要理解 Twitter 过去如何对待他们的开发社区,我想我们应该先谈论一个小应用叫

MeerKat。我保证我们的话题会回到 Parse 和 Facebook,但是请先忍耐一下,因为这个故事

和 Parse 被关闭如出一辙。

MeerKat

先来看一个背景故事:我住在德克萨斯州的奥斯汀,这意味着每年的 SXSW(西南以南)我都

坐在前排位置能近距离看到未来一年会壮大的初创公司。Twitter,Foursquare,GameSalad,

甚至 Four-Hour Work Week 都是在 SXSW 上发布的。这些都是一些比较成功案例,但是每年

奥斯汀会出现无数瞄准了这个平台的创始人们展示他们的产品,以期拿下狂欢节的人群进而飞

速增长用户。在2015年胜出的无疑是一款叫 Meerkat 的应用。 Meerkat 通过使得人们从他们

的 iPhone 上直接传递流媒体给其他用户在 SXSW 获得了巨大的反响,其本质上是个直播流媒

体 P2P 平台。去年在奥斯汀 SXSW 期间闲逛都能看到 Meerkats 的T恤。几乎所有人都在上传

直播现场音乐,SXSW 会议,他们的午餐,以及任何他们正在做的事情。然后突然间...这一切

都停止了,因为一个非常明确的原因:

在 Meerkat 发展的如火如荼之际,Twitter只给了两个小时时间通知他们即

将拉断他们访问 API 的权限以阻碍他们继续高速发展。

如果你熟悉 iOS 应用商店流程你或许能理解这是一个严重的问题,考虑到就算 Meerkat 的员

工能够以某种方式在两个小时内不依赖 Twitter API 重写他们整个应用,他们也不能在两个小

时内完成应用审核并在应用商店更新应用版本...事实上这个过程大概需要三周的时间。

在 Meerkat 发展的如火如荼之际,Twitter只给了两个小时时间通知他们即将拉断

他们访问 API 的权限以阻碍他们继续高速发展。

就个人而言我对这件事不感到奇怪,但是很多人就会好奇为什么 Twitter 会做出这样的举动...

是 Meerkat 应用违反了 API 使用协议?还是他们做了什么违法的事情?

唔,都不是...

事实上 Twitter 决定阻碍基于他们开发平台最成功的应用竟然因为是他们的战略管道上自己有

一款 Meerkat 的竞品叫 Periscope,而我是拒绝链接到此应用的。

于是乎,Twitter 再一次请求开发社区的信任。哎..

Parse

瞧,我说过我会回到正题 Parse 的!

因为 Twitter 和 Facebook 基本上等同于社交媒介硬币的两面,对我来说相信它们中的任何一

个有着相似的意味。当我想知道一个科技公司如何朝着未来迈进的时候,我总是重复一句屡试

不爽的咒语,“跟随金钱”。这通常能帮助我们了解大公司在未来表现如何,尤其对于那些上市

公司( Twitter 和 Facebook 都是上市公司)。美国的上市公司要对股东负责报告每个季度的

盈利,有时要对给客户和合作伙伴造成的损失负责。当我看到 Parse 在它们提供的免费方案产

生了巨大的阙值,我实在担心。在我看来99%的应用不会跨越这个阙值,如果它们真的这么做

了也不会花费多少资金。所以 Facebook 究竟为什么要做这个开发者工具尤其是这种后端即服

务?我认为答案很简单,他们想要你们的数据,但最终发现这些数据没有价值。所以他们认为

Parse 不再值得他们花时间维护下去了。他们无法通过提供给成千上万的开发者一个免费的后

端同时获取利润,于是他们将 Parse 关闭了。对此 Facebook 是这么解释的:

我们对帮助了这么多优秀的移动应用感到自豪,但是我们需要把精力资源用到其他

地方上。

言下之意:“你们没有让我们赚到足够的钱”

像 Twitter 以及如今超越 Apple 成为世界上最有价值的公司 Google 一样,Facebook 的赚钱底

线大部分来源于广告。事实上只有一个不靠广告赚钱的重量级平台卖家,那就是 Apple。

跟随金钱

我在今天很早的时候发了这条推。

是的,你确实不能盲目地把后端交给这些社交媒体公司。你必须带着“跟随金钱”的标准去找到

这些潜在合作方的赚钱动机。如果它们的赚钱动机不是通过给你提供优质的服务来赚取它们的

基本生存资金的话,他们的服务是不会持续太久的。如果你是一家创业公司的创始人或者

CEO,“跟随金钱”也是一个很好的分析生意走向的方法。当和其他人合作的时候,你要确定他

们的财务管理动机和你的一致,否则会时常感到你们不在一条线上。这条法则同样适用于员

工,联合创始人,合作伙伴,卖家之间等关系。

Facebook 的 API

早在 Facebook API 初期,你可以很容易的获取用户的联系人列表。这也是导致了大量来自

Facebook games 的垃圾邮件和 Farmville (类似开心农场)游戏的崛起。但 Facebook 并不

喜欢这些,所以他们抛弃了这项优势,与此同时对许多应用程序,特别是对 Zynga 的股票造

成了损害。讲真,来看看他们这一举动对 Zynga 的股票的影响:

如果你的生意依赖于一款应用,那么你的后端是你自己必须完全控制的极其重要的营业资产。

像 Salesforce 这样的公司和其他云托管公司花了近十年时间才被一些大公司接受,即使如此很

多大公司还是用自己托管的服务器。原因是一个运行良好的商业项目需要你掌握任何关键任

务。尽管这些会增加初次部署和后期维护的花费,但是不这般控制你的商业项目就相当于将控

制权丢给了某些动机不良的人,他们很可能随便挖掘你应用的数据为广告服务。你希望将服务

器托管给这些人吗?你是多大程度地信任 Facebook, Twitter, 和 Google 呢?

构建属于你自己的该死的后端

对于这种情况唯一的正确答案是只能由你自己构建一个掌控之中的稳定的后端。我知道这听起

来困难,但是其实用 Ruby on Rails 或者 NodeJS 给应用生成一个简单的 API 跑起来并不难。

坦白来说,基于 Js 事件驱动的 Parse 后端与用 express 框架写一个 NodeJS 应用没有多大区

别,抓一些节点模块用于简单 API 传输,使用 MongoDB 作为整个应用背后的数据库支持。如

果这个听起来非常困难,你花几个小时看看在线的教程就会意识到这是一件多么简单的事情。

或者,你可以雇佣我的公司,一家例行公事地“终结无耻盗取信息以获取私利”的咨询公司。

假如你雇用了其他供应商帮你构建你的后端,请确保你能拿到源代码与在任何你需要的服务器

上都能装载的工具。对于提供一个应用所有的环境需求 Docker 是一个不错的选项,另外还有

像 Heroku 的服务能够帮助你轻松部署 Rails 应用。

有趣的事实:这篇文章大概码了95%的时候,Twitter 内置的工具嘲讽般地弄乱了所有格式,

所以我不得不重新排版我的文章。^_^

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