2016-05-26 160 views
29

我正在尝试决定使用哪个选项。 (或者如果它更好,则为另一个) 这是一个消息类型的应用程序,其中将有大量的通知和数据库写入。Google App Engine与Firebase

选项1 - 使用云端点和云存储
优点谷歌应用程序引擎:

  • 能够构建出一个API,我想的方式。
  • 可扩展

缺点:

  • 更多的工作落实的通知系统。 (这将最终被火力地堡云通讯)

选项2 - 火力地堡
优点:

  • 能够使用火力地堡数据库,火力地堡用户身份验证,火力地堡云消息(通知)
  • 详细的使用统计所有设备

个缺点:

  • 没有API

选项3 - 有没有可能到谷歌云端点和火力地堡结合?

回答

49

首先查看Google文档中的图表here,以了解它们提供的不同移动应用后端服务的巨大对比和对比。以下是图表:

enter image description here

我个人的意见(更新):

选项1 - 使用云端点和云存储
优点谷歌应用程序引擎:

  • 您将学习更多关于编写自己的API的宁静模式。你也将被迫学习如何进行平静的API调用(无论是iOS还是Android),这是业界非常有价值的技能。 Firebase会为你做所有事情,你永远无法学习这些东西。
  • 您必须亲自编写它,但您可以通过自己的API方法和Google Cloud Messaging以及您创建的方法获得真正的创意。他们可以真正做任何事情并连接到任何数据库(例如MySQL,SQL Server,Datastore)。在Firebase中,您必须使用基于json的数据库。我不建议为应用使用SQL数据库,但不同的人有不同的需求。

缺点:

  • 它需要更多的工作和包装你的头周围的数据存储可以在第一难。它不像SQL这样的关系数据库。
  • 此外,我觉得有几个地方可以通过创建非常低效的方法和查询来“自我in足”,因此需要很长时间才能运行。
  • 有一件令人讨厌的新应用是GAE中的自动缩放。长话短说,如果没有人在大约15分钟内击中你的API,那么所有实例都将被关闭。一旦进行了新的调用,需要大量的时间来启动实例备份,并执行您的API方法。这可能会对新应用程序感到烦恼,因为新用户可能会遇到应用程序出现问题,因此可能会停止使用它。您可以进行手动缩放,但这样会花费金钱来始终有一个实例(截至撰写此类应用程序时,这笔费用约为27美元/月)。在这里查看我的帖子以获得更多关于这个问题的信息,并且我想出了一个solution

选项2 - 火力地堡
优点:

  • 它是由简单易用,适合初学者和有充足的教程/上火力地堡的课程做那些你想俗务缠身喜欢发送推送通知和同步数据。
  • 与GAE不同,它开箱即用。没有引发实例。这对于想要让用户获得快速数据的新应用程序非常有用。
  • 您可以了解适配器(Android)和网络(在移动应用程序中)等复杂事物的细节,并仅依靠Firebase课程。也许这是一个更小菜鸟友好?再说一遍,我认为这个文档非常棒,而且我认为通过编写低效率的查询来减少自己的投入是很不容易的。

缺点:

  • 火力地堡是在客户端代码沉重。如果你想要一个Android和一个iOS应用程序,你必须为这两个应用程序编写大量的客户端代码。在GAE中,很多逻辑在GAE应用程序中被抽象出来。但是,如果您不想在您的应用中使用数据库管理员,并且只需要了解Firebase的iOS和Android开发人员,这可能是一个优势。但对我来说,这是一个大关。
  • 如果Firebase走Parse.com的路...... Facebook宣布他们将不再支持它。这真的很烂!您将被锁定到Firebase,并且没有开发任何有关如何制作宁静的API的编程知识。不过,由于谷歌大力投资Firebase,并且现在将GCM升级到Firebase云消息传递,显然他们对Firebase有很大的计划,而且它不会去任何地方。所以我认为这不是一个“骗局”,而是牢记在心?

阅读更多链接可能的结合他们。

+0

谢谢,我倾向于选项1,因为这将是我希望它能够一起工作的方式。 – iam10k

+0

因此,我们无法在GAE中使用Firebase中的PHP邮件API? –

32

我很疑惑,很多关于Firebase的讨论(包括上面的问题和答案)都没有提到对我而言,这是一个非常重要的区别:价格。

这是Firebase price时间表。

以下是DatastoreGAE定价。

比较这些可能比较棘手,但我的解释是Firebase非常昂贵。

这应该不会令人意外。 GAE和数据存储必须与来自亚马逊,微软等公司的类似服务竞争,而且竞争非常激烈。是的,这些服务当然不像基础架构和SQL那样通用,但它们似乎足够接近以至于价格仍然具有竞争力。

另一方面,Firebase是一种优质服务,与其他后端服务(如Parse)竞争,一旦您决定使用它,我认为它将很难切换。谷歌推动Firebase如此努力应该不会让人意外 - 他们可能会从中赚取大量的资金,因为他们可以以如此高的价格进行定价。

在我看来,Firebase是小批量和高利润服务的不错选择,但如果您打算创建一个典型的,面向消费者的广告支持服务赚钱,那么Firebase的成本可能会损害您的利润。

2017-10加成

我在火力地堡随着近年来公司的FireStore释放看了一遍。

我认为了解另一个问题很重要:使用Firestore进行Android应用意味着使用严重依赖Google Play服务的Firebase客户端库,这意味着您无法部署到非Google设备,包括亚马逊Fire平板电脑和(我相信)整个中国市场。

+2

这是一个伟大的观点。尽管新的按需定价Firebase提供的GAE更接近匹配,但它仍然会更昂贵。 – iam10k

+1

最后一段非常好! GAE的价格肯定会更便宜,特别是数据存储的新定价计划。 – Micro

+0

谢谢你提到这一点,你把它完美(Y) – SoliQuiD

1

最近我学到了一件事,因为我正在努力寻找解决方案,因为firebase不提供任何有关设备到设备通知的工作;虽然它确实提供服务器到设备推送通知,并且它很容易设置。但以前缺乏功能非常重要,有一个阴谋论,这是因为他们试图推动你使用其他谷歌产品。

或者,也许,因为它起初没有开发,所以它们保持不变。我认为应用引擎是连接Firebase和设备的一种方式,因此我倾向于在这种情况下将Firebase和其他谷歌产品结合使用app engine。如果您打算进行更多的后端处理,例如图像处理等,那么您一定会在app engine and compute engine的确可以与Firebase集成,从而产生一个假想强大的后端解决方案。