Skip to content

Instantly share code, notes, and snippets.

@numbbbbb
Created February 18, 2016 01:44
Show Gist options
  • Save numbbbbb/c4963f8c0400de82a474 to your computer and use it in GitHub Desktop.
Save numbbbbb/c4963f8c0400de82a474 to your computer and use it in GitHub Desktop.

基于Parse的后台应用一直都是一个坏主意 或许你还没有听说,Facebook将要停止Parse服务,这家后台服务提供商前段时间刚刚被Facebook收购。许多开发者都感到了些微的失落,甚至感到被Facebook所背叛。我发布了一张某位用户在Parse关掉之前在其主页上的留言截图,这张截图几乎表达了所有用户的心声:

在这里我不需要着重强调他们的失望,因为他们已经这么做了。数以千计的开发者相信我们(但Parsede 关停却辜负了他们)。从他们这种想法的表达方式上,你就能明白为什么开发者如此感到被背叛。但在明知Facebook很有可能随机关掉某些服务的情况下,为什么开发者仍然继续使用React Native, React JS, HHVM, Relay 或其他Facebook技术服务呢?

诚然,这些技术已经开源,所以开源社区能够接管这些技术。但是开源项目需要维护者,并且社区的支持者所提供的资助仅仅是一种援助。Facebook已经证明了我们无法相信他们,但是这个并不能让过去适用Facebook API或者第三方社交API的用户因为这个原因感到意外。在后面我将会再讨论这个问题,让我们先来讨论另一个话题---Twitter,更准确来说,Twitter所推出的Fabric工具包。Fabric工具包目前已经包含了Crashlytics工具并且已经集成了由Felix Krause所开发的优秀的工具集合。 但是,为了理解Twitter在过去是如何对待它的开发社区,我认为我们需要来讨论一下一款名为Meerkat的小应用。我们会返回来讨论Parse与Facebook的问题,但是Parse的问题与Meerkat所遭遇的问题几乎相同,所以我们先来看一下Meerkat。 Meerkat 先说一下Meerkat的一些背景:我住在德克萨斯州的奥斯汀,这意味着我每年都会参加SXSW音乐节从而拥有一个近距离接触日后将会成为大公司的初创企业的机会。Twitter, Foursquare, GameSalad,甚至Four-Hour Work Week 等公司都从SXSW音乐节上发展起来的。这都是一些成功的案例,但是每年都会有许多天真的创始人出现在奥斯汀来展示他们的作品,并且憧憬着能够在SXSW音乐节上能够打动现场的人们。在2015年出现了一位典型的SXSW式的赢家,名叫Meerkat。

Meerkat基本上是一个点对点的流媒体直播平台,用户可以通过流媒体直接从他们的iPhone向其他用户进行直播。这款应用在那年的SXSW音乐节上广受欢迎,在去年的SXSW音乐节期间走在奥斯汀的街道上,你会在各个地方看到穿着印有Meerkat图案T恤的人。几乎每个人都在直播音乐现场,SXSW音乐节的讨论,他们的无擦, 或者是任何他们正在做的事。然后突然之间,所有这些都因为同一个原因停止了: 在Meerkat发展最快的阶段,Twitter在通知其开发者2小时之后便关闭了API访问权限。 如果你熟悉苹果iOS应用商店的处理规则,你就会明白这个问题的严重性。考虑到即使Meerkat开发者能够重写他们的应用使之不依赖Twitter的API,他们也不能在2小时之内使应用通过应用商店的审核并上架。实际上这可能花上3周的时间甚至更多。 就我自己来说,我对Twitter的这种行为并不感到吃惊,但是很多人都会想为什么Twitter会做出如此举动。是这些开发者违反了Twitter API的某些使用条款还是他们做了某些违法的事情吗? 然而,答案都是否定的。 事实上,这就是Twitter妨碍2015年度最成功的基于Twitter服务所开发出的应用的原因——因为他们在流媒体直播领域有着他们自己的应用(而不想使Meerkat成为强有力的竞争者)。这款应用名为Periscope,在这里我不会链接这款应用。 然后,Twitter又一次请求开发者论坛的信任。唉… Parse 看,我说过我们会重新讨论Parse关闭的问题。 如果将社交媒体看作一枚硬币的话,Twitter与Facebook基本上可以看做是这个硬币的两面。对我来说,相信他们之中的任何一个都会有差不多的问题。当我在思考一家科技企业在未来将会如何发展的时候,我总会想到那句口头禅——“一切向钱看”。这基本上将会告诉我们在未来大公司将会如何发展,尤其是已经在股市上市的公司(Twitter与Facebook都是上市公司)。美国的上市公司会通过季度财报对其持股人进行汇报,有时候会对他们的顾客(有时候包括合作伙伴)的损失作出解释。当看到Parse有一个如此高的达到其“免费层级”的门槛,我曾经真的很担心。似乎99%甚至更多的应用从没有打到过这个门槛,就算他们打到过这个门槛那也是越过了很少一部分。那到底Facebook推出开发者工具的动机是什么呢,而且专门挑选应用后台作为服务?我认为这个问题的答案很简单,即他们想要你的数据,但是后来却发现这些数据几乎没有什么用处。所以他们决定Parse服务不值得他们再花费时间。通过向数十万的开发者提供免费的后台服务,他们无法获得任何收益,所以他们将服务关闭。以Facebook自己的话来说: 我们对(Parse)对你们(开发者)优秀的移动app的开发提供了帮助而感到十分自豪,但是我们需要集中我们的资源去做另外的事情了。 说得直白一些便是:“你们不能让我们转到足够的钱”。 Facebook以自身的广告业务为基础制定公司的重点业务,与Twitter和Google如出一辙。而后者现在已经超过了苹果公司成为了世界上市值最高的公司。事实上现在只有一家大公司的利润来源的主要部分不是广告业务,那就是苹果公司。 “一切向钱看。” 今天的早些时候我在推特上发了这条推文:

这是真的,你的确不能相信这些社交媒体公司而盲目地使用它们的服务开发自己的应用后台。你需要遵循“一切向钱看”的原则来找到相关公司的所有目的,如果它们的目的不是为你提供优质的服务来使他们获利,它们的业务便不会持续很久。同时如果你是一名初创企业的建立者或者CEO,这也是一个分析你自己业务的好方法。当你与任何人合作的时候,你必须十分确定他们的经济目的与你的是一致的,否则你们早晚都会分道扬镳。这个方法使用于分析雇主,共同创始人,合作伙伴或者类似的厂商。

The Facebook API 现在回过头来看一下最近几天的Facebook API的调用情况,我们很容易就能得到用户的联系人列表。这就是导致Facebook游戏中垃圾邮件泛滥及Farmville游戏兴起的原因。但是Facebook不喜欢这种现象,因此他们取消了这种特权,这对众多应用及Zynga(Farmville开发商)的股票造成了危害。真的,看一下这对Zynga的股票造成了什么影响你就知道了:

如果你的生意依赖于一个应用,那这个应用的后台业务将会是十分重要的业务资产,因此你必须全面对其进行掌控。对于像Salesforce和其他云服务公司来说,大概需要十年才能做成一个大公司,甚至在今天,他们中的大多数依旧在使用在线版本的软件。

这样做的原因是在一个运行良好的业务中,你需要掌握所有与任务相关的东西。这会提高维护费用与开始时部署的费用,但是失去了这种控制,你的业务将会依赖于某些公司一时提供的业务而不会长久,而他们同时也会使用你的数据来开展自己的广告业务。你难道想让这些公司来掌握你的服务器吗?而你对Facebook, Twitter和Google这些公司信任几何?

去构建你自己的后台吧 对于为你的移动应用提供一个你能控制的稳定后台这个问题唯一争取的答案便是你自己独立去搭建。我知道这个方法听起来比较困难,但是实际上使用Ruby on Rails 或者 NodeJS来搭建简单的API来为你的移动应用服务并不是很难。坦白来说,采用基于JavaScript事件的Parse后台,与写一个通过发送与收集而实现简单的API发送,并且采用MongoDB数据库存储数据的NodeJS应用之间并没有name不同。如果这个方式还是听起来很困难, 那就花上几个小时来阅读网上的一些教程,然后你就会明白自己做这一切是多么简单。或者作为一种选择,你也可以将你的业务交给我的公司去做,我们一定会一直保持服务。 如果你选择了一家服务商来搭建你的后台服务,一定要确保你能获得后台的源代码,同时也要得到能够是这些源代码在任何你需要的服务器上运行起来的必要工具。Docker是一个能够满足一个应用环境所有要求的好工具,而且像Heroku的服务能够使得部署Rail应用过程变得简单。

一个有趣的事实是:具有讽刺意味的是,在写完这篇文章的大约95%之后,我的Twitter编辑器丢失了所有的排版,所以我不得不重新对整篇文章进行了排版。^_^

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