Socket.IO 和 Firebase 有啥区别?
Posted
技术标签:
【中文标题】Socket.IO 和 Firebase 有啥区别?【英文标题】:What is the difference between Socket.IO and Firebase?Socket.IO 和 Firebase 有什么区别? 【发布时间】:2015-04-24 22:36:36 【问题描述】:我看了一个关于 Node.js 的 codeschool 教程,他们在教程中使用 Socket.IO 模仿了一个聊天服务器。
我也觉得 Firebase 做同样的事情。
如果有的话,两者有什么区别?
【问题讨论】:
SocketIO 是一个开源库。 Firebase 是一种云服务。他们都使用Websockets。但是每个人都有自己的js层实现 【参考方案1】:其实是有区别的。
Socket.io 是一个用于管理套接字的 javascript 库。在网络聊天示例中,您创建套接字:
-
客户端到服务器
服务器到客户端
也就是说,您控制所有端点,并使用 socket.io 作为一种工具在您的端点之间进行通信。
相比之下,使用 firebase 您只关注 1(客户端到服务器)
使用服务与使用自己的基础设施的优缺点是一个不同的主题,并且非常固执己见。
【讨论】:
但是你不能用firebase创建一个网络聊天吗? @user3587754 是的,我举个例子。想象一下烤箱(socket.io)和外卖披萨(firebase)。两者都可以让您获得最终产品 - 比萨饼(网络聊天)。后来更贵(因为它是一项服务),但更容易。虽然,使用烤箱 (socket.io),您拥有更多的控制权,但它也带来了更多的责任。 @alandarev 多么美妙的解释!非常感谢!【参考方案2】:有很多很多不同。例如:
SDK
Firebase 有 9 个 SDK,包括 JavaScript、android、Unity。 Socket 只是 1 个用于浏览器的官方客户端库 (JavaScript)。
实时功能 Firebase 具有发布/订阅消息、连接状态恢复、存在、本机推送通知、webhook。 Socket.io 没有这些。
文档
两者都有很好的文档,包括入门指南、信息架构和开发人员之旅、API 参考。
这些只是一些例子,但这里是in-depth comparison between Firebase and Socket.io
【讨论】:
以上是关于Socket.IO 和 Firebase 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 存储中的“getBytes()”和“getStream()”方法有啥区别?
Google Analytics“活跃用户”和 Firebase“活跃用户”有啥区别?