Firestore实时更新或用于实时聊天的Sockets.io

时间:2019-03-28 04:05:23

标签: firebase sockets socket.io google-cloud-firestore

我需要为我的Web应用开发具有实时更新的聊天。

  • 正面:反应
  • 返回:节点
  • 数据库:Firestore

今天,我所有的数据查询都是通过REST API在后端进行的。我当时在考虑使用Sockets.IO,但看到Firestore也有数据侦听器(https://firebase.google.com/docs/firestore/query-data/listen)。

您能通过指出每种解决方案的潜在优点/缺点来帮助我进行选择吗?

请注意,我之前从未做过任何实时聊天功能,因此可能看不到一些明显的要点。我不想发动舆论战争,而是想为生产中的应用找到针对我的特殊问题的解决方案。

目前我拥有:

Firestore数据侦听器

  • 实施似乎更快,但我可能看不到某些东西(特别是因为我的身份验证是通过服务器上的JWT进行的,而根本不是通过客户端上的firestore身份验证进行的)
  • 开箱即用的离线功能
  • 从客户端直接访问应该更快?

Sockets.io

  • 更多文档和资料来源
  • 如果需要,我可以迁移

1 个答案:

答案 0 :(得分:0)

回答我自己的问题。

我发现的东西

  • Firestore没有内置的状态系统,需要与实时Firebase同步的特定Cloud功能才能工作(https://firebase.google.com/docs/firestore/solutions/presence)。我想通过邮件通知我的用户是否离线,所以这个“ hacky”解决方案值得关注。
  • 找不到一种通过JWT使用当前无状态身份验证来检查使用Firestore的客户端是否已通过身份验证的简单方法