Firebase与AngularFire比较

35

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

在阅读了Vanilla FirebaseAngularFire文档,并实现了一部分应用程序后,我发现除了AngularFire之外,所有从Firebase数据库所需的东西都可以通过Vanilla Firebase实现。

此外,AngularFire提供的资源数量与Vanilla Firebase相比非常有限。那么,既然Vanilla Firebase已经有很多可用资源,为什么我还要使用AngularFire呢?我无法理解这种情况。

使用AngularFireVanilla Firebase相比,有哪些好处?


1
这不是非此即彼的选择;你可以同时使用两者。如果AngularFire中的对象和列表绑定对你有用并且能够节省你的精力,那么你可能想要使用它们。这样做并不意味着你不能同时使用Firebase SDK。 - cartant
什么是Vanilla Firebase?你能给我提供它的链接吗? - Krishna Karki
1
@KrishnaKarki Vanilla Firebase就是简单的Firebase,没有其他东西。Vanilla通常用于独立库的情况下。你可以查看Firebase官方文档了解更多信息。https://firebase.google.com/docs/reference/js/ - Ravi Shankar Bharti
在 Angular 13 中,AngularFire 7.2 在编译期间会抛出 TypeScript 错误(参见 https://github.com/angular/angularfire/issues/3090)。当您尝试使用显式类型,例如 Observable<firebase.auth.UserCredential> 或使用 User 类作为登录函数时,它将导致 TS 错误... - Kamil Kiełczewski
1
目前看来使用这个库是没有意义的:Firebase有类型定义,所以可以直接使用它。要使用不透明的fb promises,请使用fromrxjs操作符。当新版本的Angular/fb出现时,您必须等待此库更新(没有人知道需要多长时间),目前它会抛出TS编译错误,fb库相当简单,但这个库相当复杂,文档很差... 更多信息请参见 - Kamil Kiełczewski
显示剩余3条评论
1个回答

46

Angularfire

Angularfire是一种辅助库,旨在提供绑定,以使Angular和Firebase的集成更加顺畅。它可以让你轻松地将数据从Firebase检索为数组形式,并返回一个只读的伪数组。

注意,使用Angularfire要看情况,如果只用Firebase就能完成所需功能,那么没有必要复杂化问题。当然也可以同时使用Firebase和Angularfire,在特定场景使用Firebase,在其他情况下使用Angularfire。

Angularfire2

Angularfire2是一个完全不同的故事,因为它实际上将RxJS可观察对象和其他响应式模式与Firebase集成在一起,而这些功能在原生Firebase中并不可用。

总体而言,它们都具有相同的目的。Angularfire2是Firebase的抽象层,提供实时绑定,旨在简化Firebase和Angular2之间的集成,并使你能够以响应式方式处理Firebase。


嗯...看起来现在使用这个库是没有意义的:Firebase有类型定义,所以你可以直接使用它。要使用不透明的fb promises,请使用fromrxjs操作符。当新版本的Angular/fb出现时,您必须等待此库更新(没有人知道需要多长时间),目前它会抛出TS编译错误,fb库相当简单,但这个库相当复杂,文档很差...更多信息请参见 - Kamil Kiełczewski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接