我正在使用Angular App
,它与Firebase
实时数据库相关联。我目前正在使用AngularFire访问Firebase
数据库。
在阅读Vanilla Firebase
和AngularFire
文档后,在实施我的应用程序的某些部分之后,我看到Firebase
数据库所需的所有内容都可以在Vanilla Firebase的帮助下实现,没有AngularFire
的任何帮助。
此外,与AngularFire
相比,Vanilla Firebase
仅提供有限数量的资源。那么,当有许多可用资源时,为什么我要使用AngularFire
而不是Vanilla Firebase
?我无法理解这种情况。
使用AngularFire
而非Vanilla Firebase
有什么好处?
答案 0 :(得分:28)
嗯,angularfire是一个帮手库。它应该通过提供创建的绑定来使您的生活更轻松,以使角度和firebase之间的集成更加无缝。
一个实际的例子:
开发人员通常需要使用数组才能显示数据。但是,firebase不会以数组形式存储任何数据。相反,它使用类似JSON的结构。话虽这么说,为了让每个人都能更容易地围绕从firebase中检索数据作为数组,angularfire给你$ firebaseArray(),它实质上转换来自某个位置的数据并返回数组内的相同数据(只读伪数组)。
请注意,所有这些都可以通过使用vanilla firebase手动检索数据,然后将您从firebase(作为对象)获取的数据转换为客户端的数组来实现。
当你对它有意义时,你应该使用angularfire,如果它让你的生活更轻松。这就是它的用途。如果你只需使用香草火焰底座即可完成所需的一切,那么就没有理由让事情复杂化。我还应该指出,你可以同时使用firebase和angularfire。正如评论中提到的那样,它不是一种选择,也不是选择,因为两者都很好地结合在一起。这意味着您可以将vanilla firebase用于更具体的用例,同时将angularfire用于其他目的。
总而言之,尽管可能需要一大堆额外的代码,但是使用angularfire也可以实现与angularfire一起使用的所有功能。换句话说,angularfire建立在firebase之上,不会为您提供新的firebase功能。从本质上讲,它使用带角度的火焰底座更加有趣和实用。
Angularfire2是一个完全不同的故事,因为它实际上将RxJS observables和其他反应模式与firebase集成在一起,所有这些都默认不在vanilla firebase中。
但在大多数情况下,它们都有相同的用途。 Angularfire2也是firebase之上的一个抽象,它提供了实时绑定,旨在促进firebase和angular2之间的集成。此外,它还为您提供了以反应方式使用firebase的可能性。