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