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

Firebase Firestore实时更新或Sockets.io用于实时聊天,firebase,sockets,socket.io,google-cloud-firestore,Firebase,Sockets,Socket.io,Google Cloud Firestore,我需要开发一个聊天与实时更新我的网络应用程序 正面:反应 返回:节点 数据库:Firestore 今天,我所有的数据查询都是在我的后端通过RESTAPI进行的。我曾考虑使用Sockets.IO,但看到Firestore也有数据侦听器() 你能通过指出每种解决方案的潜在优缺点来帮助我进行选择吗 请注意,我以前从来没有自己做过任何实时聊天功能,所以我可能看不到一些明显的要点。我不想挑起一场意见战,我想为一款正在生产的应用程序找到一个解决我特殊问题的方法 目前我有: Firestore数据侦听器

我需要开发一个聊天与实时更新我的网络应用程序

  • 正面:反应
  • 返回:节点
  • 数据库:Firestore
今天,我所有的数据查询都是在我的后端通过RESTAPI进行的。我曾考虑使用Sockets.IO,但看到Firestore也有数据侦听器()

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

请注意,我以前从来没有自己做过任何实时聊天功能,所以我可能看不到一些明显的要点。我不想挑起一场意见战,我想为一款正在生产的应用程序找到一个解决我特殊问题的方法

目前我有:

Firestore数据侦听器

  • 实现速度似乎更快,但我可能看不到一些东西(特别是因为我的身份验证是在服务器上使用JWT进行的,而不是在客户端使用firestore auth进行的)
  • 开箱即用的脱机功能
  • 从客户机直接访问应更快
Sockets.io

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

    • 回答我自己的问题

      我发现的事情:

      • Firestore没有内置的状态显示系统,需要与实时firebase同步的特定云功能才能工作()。如果用户离线,我想通过邮件通知他们,所以这种“黑客”解决方案令人担忧
      • 没有找到一种简单的方法来使用我当前的无状态身份验证和JWT来检查使用firestore的客户端是否经过身份验证

        • 回答我自己的问题

          我发现的事情:

          • Firestore没有内置的状态显示系统,需要与实时firebase同步的特定云功能才能工作()。如果用户离线,我想通过邮件通知他们,所以这种“黑客”解决方案令人担忧
          • 没有找到一种简单的方法来使用我当前的无状态身份验证和JWT来检查使用firestore的客户端是否经过身份验证