Firebase REST API 和 SDK 客户端有什么区别?以及如何为客户工作?

What is the difference between the Firebase REST API and SDK clients? And how to the clients work?

我有几个关于 Firebase 的问题。我浏览了他们网站上的文档和教程。我以前从来没有用过这样的东西,所以有点混乱:

  1. 我看到有一个 REST API 和一个 Javascript API。主要区别是 REST API 更像传统的 API 并且需要轮询,而 Javascript API 允许您从 Firebase 本身接收增量?

  2. 我想创建一个服务来接收这些增量并将它们存储在我自己的数据库中。但我不明白 Firebase 是如何保持连接打开这么长时间的。我假设必须打开一个连接,Firebase 将数据推送回我的服务。有时间限制吗?或者如果连接关闭是检测此错误并重新登录的最佳做法?

  1. Firebase REST API 与其客户端库之间存在许多差异。最大的区别确实是大多数 REST 客户端不使用持久连接。但是 REST 客户端 也可以 监听变化,使用 Firebase's SSE based REST Streaming.

  2. Firebase 使用网络套接字建立从客户端到服务器的持久连接。在 Web 套接字不可用的浏览器平台上,客户端回退到 HTTP 长轮询。