Socket.IO 和 Firebase 有什么区别?
What is the difference between Socket.IO and Firebase?
我看了 Node.js 上的代码学校教程,他们在教程中使用 Socket.IO 模仿了聊天服务器。
我也觉得 Firebase 做同样的事情。
两者有什么区别,如果有的话?
其实还是有区别的
Socket.io 是一个 javascript 库来管理套接字。在网络聊天示例中,您创建套接字:
- 客户端到服务器
- 服务器到客户端
也就是说,你控制所有的端点,并使用socket.io作为你端点之间通信的工具。
相比之下,使用 firebase 你只关注 1(客户端到服务器)
使用服务与自己的基础设施的优缺点是一个不同的主题,并且自以为是。
有很多很多不同之处。例如:
SDK
Firebase 有 9 个 SDK,包括 JavaScript、Android、Unity。
Socket 仅适用于浏览器的 1 个官方客户端库 (JavaScript)。
实时功能
Firebase 具有 pub/sub 消息传递、连接状态恢复、在线状态、本机推送通知、网络钩子。
Socket.io 这些都没有。
文档
两者都有很好的文档,包括入门指南、信息架构和开发人员之旅,API 参考。
这些只是一些示例,但这里有一个 in-depth comparison between Firebase and Socket.io
我看了 Node.js 上的代码学校教程,他们在教程中使用 Socket.IO 模仿了聊天服务器。
我也觉得 Firebase 做同样的事情。
两者有什么区别,如果有的话?
其实还是有区别的
Socket.io 是一个 javascript 库来管理套接字。在网络聊天示例中,您创建套接字:
- 客户端到服务器
- 服务器到客户端
也就是说,你控制所有的端点,并使用socket.io作为你端点之间通信的工具。
相比之下,使用 firebase 你只关注 1(客户端到服务器)
使用服务与自己的基础设施的优缺点是一个不同的主题,并且自以为是。
有很多很多不同之处。例如:
SDK
Firebase 有 9 个 SDK,包括 JavaScript、Android、Unity。 Socket 仅适用于浏览器的 1 个官方客户端库 (JavaScript)。
实时功能 Firebase 具有 pub/sub 消息传递、连接状态恢复、在线状态、本机推送通知、网络钩子。 Socket.io 这些都没有。
文档
两者都有很好的文档,包括入门指南、信息架构和开发人员之旅,API 参考。
这些只是一些示例,但这里有一个 in-depth comparison between Firebase and Socket.io