Firebase与AngularFire

时间:2017-01-10 16:37:19

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

我正在使用Angular App,它与Firebase实时数据库相关联。我目前正在使用AngularFire访问Firebase数据库。

在阅读Vanilla FirebaseAngularFire文档后,在实施我的应用程序的某些部分之后,我看到Firebase数据库所需的所有内容都可以在Vanilla Firebase的帮助下实现,没有AngularFire的任何帮助。

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

使用AngularFire而非Vanilla Firebase有什么好处?

1 个答案:

答案 0 :(得分:28)

Angularfire

嗯,angularfire是一个帮手库。它应该通过提供创建的绑定来使您的生活更轻松,以使角度和firebase之间的集成更加无缝。

一个实际的例子:

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

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

当你对它有意义时,你应该使用angularfire,如果它让你的生活更轻松。这就是它的用途。如果你只需使用香草火焰底座即可完成所需的一切,那么就没有理由让事情复杂化。我还应该指出,你可以同时使用firebase和angularfire。正如评论中提到的那样,它不是一种选择,也不是选择,因为两者都很好地结合在一起。这意味着您可以将vanilla firebase用于更具体的用例,同时将angularfire用于其他目的。

总而言之,尽管可能需要一大堆额外的代码,但是使用angularfire也可以实现与angularfire一起使用的所有功能。换句话说,angularfire建立在firebase之上,不会为您提供新的firebase功能。从本质上讲,它使用带角度的火焰底座更加有趣和实用。

Angularfire2

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

但在大多数情况下,它们都有相同的用途。 Angularfire2也是firebase之上的一个抽象,它提供了实时绑定,旨在促进firebase和angular2之间的集成。此外,它还为您提供了以反应方式使用firebase的可能性。