【问题标题】:Firebase vs AngularFire [closed]Firebase vs AngularFire [关闭]
【发布时间】:2017-05-25 05:37:10
【问题描述】:

我正在开发一个Angular App,它与Firebase 实时数据库相连。我目前正在使用AngularFire 访问Firebase 数据库。

在阅读了Vanilla FirebaseAngularFire 文档后,并在实现了我的应用程序的某些部分后,我看到Firebase 数据库所需的所有东西都可以在Vanilla Firebase 的帮助下实现,而无需@ 的任何帮助987654330@.

此外,与Vanilla Firebase 相比,AngularFire 仅提供有限数量的资源。那么,当它有很多可用资源时,我为什么要使用AngularFire 而不是Vanilla Firebase?我无法理解这种情况。

使用AngularFire 比使用Vanilla Firebase 有什么好处?

【问题讨论】:

  • 这不是非此即彼的选择;你可以同时使用。如果 AngularFire 中的对象和列表绑定有用并且可以节省您的工作量,您可能想要使用它们。这样做并不意味着您也不能使用 Firebase SDK。
  • 我发现在 Vanilla Firebase 上使用 AngularFire 的一些好处是将角度变量与 firebase 中定义的路径绑定。在更新绑定变量时有助于处理应用和消化周期的东西。但我没有完全理解。任何人都可以阐明那部分并帮助我理解这一点。
  • 我在哪里可以找到更多关于 angularfire2 的文档? firebase 网站上的示例也应包括这些
  • @KrishnaKarki Vanilla Firebase 只是简单的 firebase,仅此而已。 Vanilla 用于独立库的情况。您可以查看 Firebase 官方文档。 firebase.google.com/docs/reference/js
  • 目前看来使用这个库是没有意义的:firebase 有类型,所以你可以直接使用它。对于不透明的 fb 承诺,请使用 from rxjs 运算符。当新的 wersion angular/fb 出现时,你必须等待这个库更新(没人知道多久),目前它会抛出 TS 编译错误,fb 库很简单但这个库很复杂,文档很差......more here

标签: angularjs angular firebase firebase-realtime-database angularfire


【解决方案1】:

角火

嗯,angularfire 是一个辅助库。它应该通过提供为使 Angular 和 Firebase 之间的集成更加无缝而创建的绑定来让您的生活更轻松。

一个实际的例子:

开发人员通常需要使用数组来显示数据。但是,firebase 不会以数组形式存储任何数据。相反,它使用类似 JSON 的结构。话虽这么说,为了让每个人都更容易从firebase中检索数据作为数组,angularfire为您提供$firebaseArray(),它本质上转换来自某个位置的数据并在数组中返回相同的数据(只读伪数组)。

请注意,所有这些都可以通过使用 vanilla firebase 手动检索数据,然后将您从 firebase(作为对象)获取的数据转换为客户端的数组来完成。

你应该在对你有意义并且让你的生活更轻松的情况下使用 angularfire。这就是它的用途。如果您只需使用 vanilla firebase 就可以完成所需的一切,那么没有理由使事情复杂化。我还应该指出,您可以同时使用 firebase 和 angularfire。正如 cmets 中提到的那样,这不是一个非此即彼的选择,因为两者配合得很好。这意味着您可以将 vanilla firebase 用于更具体的用例,同时将 angularfire 用于其他目的。

总而言之,使用 angularfire 可以做的所有事情也可以使用 vanilla firebase,尽管它可能需要一大堆额外的代码。换句话说,angularfire 建立在 firebase 之上,不会为您提供新的 firebase 功能。从本质上讲,它使使用带有 angular 的 firebase 变得更加有趣和实用。

Angularfire2

Angularfire2 是一个完全不同的故事,因为它实际上将 RxJS 可观察对象和其他反应模式与 firebase 集成在一起,所有这些都在 vanilla firebase 中默认不可用。

但在大多数情况下,它们都具有相同的目的。 Angularfire2 也是 firebase 之上的抽象,它提供实时绑定,旨在促进 firebase 和 angular2 之间的集成。此外,它使您能够以被动的方式使用 firebase。

【讨论】:

  • hm.. 看起来现在使用这个库毫无意义:firebase 有类型,所以你可以直接使用它。对于不透明的 fb 承诺,请使用 from rxjs 运算符。当新的 wersion angular/fb 出现时,你必须等待这个库更新(没人知道多久),目前它会抛出 TS 编译错误,fb 库很简单但这个库很复杂,文档很差......more here
猜你喜欢
  • 2015-05-27
  • 1970-01-01
  • 2021-06-18
  • 1970-01-01
  • 1970-01-01
  • 2016-06-27
  • 2017-03-27
  • 2017-01-02
  • 2015-05-07
相关资源
最近更新 更多