我看了一份关于Node.js的CodeSchool教程,他们在教程中使用Socket.IO模拟了一个聊天服务器。
我也认为Firebase也可以做同样的事情。
如果有的话,这两者之间有什么区别呢?
实际上有区别。
Socket.io是一个管理套接字的JavaScript库。在Web聊天示例中,您创建套接字:
也就是说,您控制所有的端点,并使用socket.io作为通信工具,让各个端点进行通信。
相比之下,使用Firebase,您只需要关注1(从客户端到服务器)
使用服务还是自己的基础架构的优缺点是一个不同的主题,并且很大程度上是因人而异的。
有很多很多的不同之处。例如:
SDKs
Firebase 有9个SDK,包括JavaScript、Android、Unity。 Socket只有一个官方客户端库(JavaScript)适用于浏览器。
实时特性 Firebase具有发布/订阅消息、连接状态恢复、存在感、本地推送通知、Webhooks等功能。 Socket.io没有这些功能。
文档
两者都有相当好的文档,包括入门指南、信息架构和开发者旅程、API参考等。
这些只是一些例子,但在这里有一个Firebase和Socket.io的深度比较。