Skip to content

Instantly share code, notes, and snippets.

@numbbbbb
Created February 19, 2016 02:31
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/34fa4fa1a60efa7f4d05 to your computer and use it in GitHub Desktop.
Save numbbbbb/34fa4fa1a60efa7f4d05 to your computer and use it in GitHub Desktop.

你所使用的 Parse 后端是个糟糕的想法

你可能还没有听到 Facebook 正在关闭 Parse 服务的消息,Parse 是 Facebook 不久前收购的一个后端即服务(BaaS)的提供商。大量开发者为此感到些许失落,甚至认为被 Facebook 所背叛。我发到推特的一张在 Parse 主页被关闭之前的截图,也充分说明了一切。

事实摆在这里,我不想为此有更多的解释。成千上万的开发者相信我们。你可以从图片里的描述明白为什么开发者感到受到背叛。当知道 Facebook 可能随意决定其旗下技术的命运,人们还会继续使用 React Native,React JS,HHVM,Relay以及其它一系列 Facebook 的技术吗?

当然,可能会有开源机构和社区会接管,但是开源项目需要维护人员和赞助者才是巨大的福音。Facebook 已经让我们感到不能相信他们,过去为 Facebook API 工作的人,以及其它第三方社交媒体 API 工作的人,应该不会为此感到惊讶。这个话题我们暂且不谈,讨论下 Twitter,更重要的 Twitter Fabric,该产品当下拥有 Crash 统计功能,并且开发者 Felix Krause 为此集成了一系列惊艳的功能。

但是知道 Twitter 是如何坑害开发社区的黑历史,我想我们应该说说一个叫 Meerkat 的小应用。我保证我们会回来讨论 Parse 和 Facebook,但是这个小插曲和主题是同一性质的问题,再容忍我唠叨下。

Meerkat

介绍下背景:我居住在德克萨斯州的奥斯汀市,这意味着我可以轻松获得来年举办的大型 SXSW(译者注:每年在美国得克萨斯州奥斯汀举行的一系列电影、音乐和多媒体交互式的节日) 的前排位置,Twitter,Foursquare,GameSalad,甚至 the Four-Hour Work Week 都会在 SXSW 举办盛典。一些公司获取更大的成功,每年大量举办方现身奥斯汀介绍他们的工作,并且希望通过节日带来巨大的飞跃。2015 年的胜者显而易见是 Meerkat。

Meerkat 是一个可以直接通过 iPhone 交互的 P2P 流媒体在线传输的平台,它在 SXSW 掀起了巨大的风波。去年,漫步在奥斯汀附近的每个角落你都可以看到 Meerkat 的主题T恤。所有人都在进行直播音乐、SXSW 活动、他们的午餐时间和他们所有正在做的事情。然后,突然因为一个特殊原因所有的一切都停止了:

在 Meerkat 启动的鼎盛时期,Twitter 发出通知两小时后,在 Meerkat 眼皮底下剥夺了其 API 的访问权限。

如果你熟悉 iOS 应用商城的审核流程,就能意识到这个问题的严重性。Meerkat 即使重新编写他们的 App,使其不依赖于 Twitter 的 API,他们也不可能在两小时内通过应用商城的审核。实际上,应用商城的审核周期大约在三周左右。

在 Meerkat 启动的鼎盛时期,Twitter 发出通知两小时后,在 Meerkat 眼皮底下剥夺了其 API 的访问权限。

个人而言,我对此并不感到惊讶,但是很多人好奇为什么 Twitter 会做出如此大的行动。难道是他们违反了 API 协议的条款吗?他们做了一些非法的事情吗?

当然,这些都不是...

实际原因是 Twitter 近些年推出了一款叫做 Periscope 的 App 作为 Meerkat 的竞争对手,因此决定阻碍这个最成功的基于 Twitter 的 App 的发展。我也拒绝给出该 App 的链接。

所以,这里当 Twitter 再次向开发社区寻求信任时。唉...╮(╯▽╰)╭

Parse

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

鉴于 Twitter 和 Facebook 基本上是社交媒体的双刃剑,在我看来相信他们也会有相同的后果。当我不知道一个科技公司在未来会做出怎样的决策时,我总会重复我的口头禅,“跟着钱走”。这通常会告诉你,大公司将来会做出怎样的举动,尤其是上市公司(TWTR 和 FB 都已经上市)。美国上市公司需要向他们的股东报告季度收益报告,有时候这些客户和合伙人的收益是亏损的。当看到 Parse 有一个巨大的 “Free Tier” 阈值时,这才是真正令我担忧的。在我看来,99%(或者更多)的 App 是不会跨越这个阈值的,他们仅仅所做的只是为了少量的钱。Facebook 的真正动机是什么?他们的开发者工具?尤其是 BaaS 服务?我想答案非常简单,**他们想要你的数据,但是他们得到结果却是一文不值的。**所以他们认为 Parse 不再值得花时间投入。他们不能靠提供免费的后端服务给成千上万的开发者从而带来收益。所以他们关闭了 Parse。用 Facebook 官方的话说:

我们为已经帮助大多数人构建伟大的移动 App 而自豪,但是我们需要将资源用于其他领域

换句话说:“你们不能为我赚取足够的金钱”。

Facebook 所有的生产利润来自广告,同 Twitter、 Google 这些世界上最有价值的公司一样,这种获取利润的方式优于 Apple 公司。实际上,Apple 公司主要不是一个以广告获得利润的公司,而是单一平台上重要的供应商。

跟着钱走

今天早些时候我发了一条推文:

People asking me how to replace Parse in their code: If you don't build & host your own server code, your backend is always in danger.(人们问我,如何在他们的代码中代替 Parse:如果你没有构建&拥有你自己的服务代码,你的后端会变得非常危险。)

这是对的,你真的不能这样对待你的后端,如此盲目地相信这些社交媒体公司。你必须跟着钱走从而发现相关的动机。如果他们的初衷不是提供你良好的服务而是被他们的利益驱动,这种服务看起来不会坚持太久。如果你是创业公司的创始人或者 CEO,这也是一种非常棒的方式去分析你自己的商业。当你与任何人合作,你必须确保他们的商业理念与你一致,否则你们总会脱节。这同样也适用于雇员、合伙人、合作伙伴和供应商。

The Facebook API

回到早期 Facebook 的 API,你可以轻松地检索用户联系列表。这也导致了来自 Facebook 游戏的大量垃圾邮件和 Farmville(译者注:类似于开心农场的游戏) 的兴起。但是 Facebook 觉得这些东西不应该这样,所以他们突然关闭了这些特权,对很多 App 以及 Zynga 的股市造成损失。来认真严肃地看看 Zynga 的股票情况:

如果你的商业取决于一款 App,**你的后台是你必须控制的极其重要的商业资产。**像 Salesforce 一样基于云计算的企业,经历近十年的成长成为大公司,即使在今天他们中的大多数都在使用 on-site(现场) 软件版本。原因就是一个好的商业运作关键在于你需要拥有任何东西。这里增加的维护成本和最初部署的成本一样,但是却没有控制权,你的商业被可疑人物利用,通过挖掘你的数据来为广告服务。你想要谁来控制你的服务?你对 Facebook、Twitter 和 Google 有多大的信任?

构建你自己那该死的后端

想要为你的移动 App 提供稳定的后端,唯一正确的方法就是自己构建。我知道这听起来很困难,但是通过使用 Ruby on Rails 或者 Node.js 为移动 App 生产一个简单的 API 服务并不是很困难。坦白说,基于 JavaScript 的事件机制的后端和用 Express 框架开发的 Node.js App 并非完全不同,都是为简单的 API 调用抓取一些 node 模块,用一个 MongoDB 数据库支持所有的事。如果这听起来十分困难,花点时间看看在线的教程,你会意识到靠自己完成这件事也是很简单的。或者,你可以雇佣我们,一家致力于后端对接的公司。

如果你真的要雇佣一家供应商来构建你的后端,确保你可以获取到源代码,和能够拥有任何你所需要的服务的工具。Docker 是一个非常棒的方案,包含 App 的所有环境要求,Heroku 服务也让 Rails Apps 更容易部署。

原文连接:http://jamesonquave.com/blog/your-parse-backend-was-always-a-bad-idea/

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