我正在开发一台与Firebase实时数据库相连的Angular App。我目前正在使用AngularFire访问Firebase数据库。
在阅读了Vanilla Firebase和AngularFire文档之后,在实现了我的应用程序的某些部分之后,我发现在Vanilla Firebase的帮助下,Firebase数据库所需的所有内容都可以实现,而不需要任何AngularFire的帮助。
此外,与Vanilla Firebase相比,AngularFire仅提供有限数量的资源。那么,为什么我要使用AngularFire,而不是Vanilla Firebase,因为它有很多可用的资源呢?我不能理解这个场景。
在Vanilla Firebase上使用AngularFire有什么好处
发布于 2017-01-13 01:34:22
Angularfire
好的,angularfire是一种帮助库。它应该通过提供绑定来使您的生活更容易,这些绑定是为了使angular和firebase之间的集成更加无缝。
一个实际的例子:
开发人员通常需要使用数组来显示数据。但是,firebase不以数组形式存储任何数据。相反,它使用类似JSON的结构。也就是说,为了让每个人都能更容易地从firebase中以数组的形式检索数据,angularfire提供了$firebaseArray(),它本质上转换来自某个位置的数据,并在一个数组(一个只读伪数组)中返回相同的数据。
请注意,所有这些都可以通过使用vanilla firebase手动检索数据,然后将从firebase获得的数据(作为对象)转换为客户端上的数组来完成。
你应该使用angularfire,当它对你有意义的时候,如果它让你的生活更容易的话。这就是它存在的目的。如果你只需要使用普通的firebase就可以完成所有你需要的事情,那么就没有理由把事情复杂化。我还需要指出的是,你可以同时使用firebase和angularfire。正如cartant在评论中提到的那样,这不是一个非此即彼的选择,因为两者都很好地结合在一起。这意味着您可以将vanilla firebase用于更具体的用例,而将angularfire用于其他目的。
总而言之,使用angularfire可以做的任何事情都可以使用vanilla firebase,尽管它可能需要一大堆额外的代码。换句话说,angularfire是建立在firebase之上的,不会为你提供新的firebase特性。从本质上讲,它使得在angular中使用firebase变得更加有趣和实用。
Angularfire2
Angularfire2是一个完全不同的故事,因为它实际上将RxJS可观察性和其他反应模式与firebase集成在一起,所有这些在vanilla firebase中都是默认不可用的。
不过,在大多数情况下,它们都服务于相同的目的。Angularfire2也是firebase之上的抽象,它提供了实时绑定,旨在促进firebase和angular2之间的集成。此外,它还为您提供了以反应式方式使用firebase的可能性。
https://stackoverflow.com/questions/41573769
复制相似问题