Socket.IO的未来如何?
Socket.IO似乎没有得到很好的维护。 其最近一次提交大约是3个月前,且大部分代码库已经很久没有提交过了。 此外,目前有384个未决问题。 所以对于那些使用套接字启动新项目的人来说,这事关他们是否继续支持Socket.IO。 在撰写本文时(2019年7月),Socket.IO的形势尚不明朗。作者除了下列信息以外一无所知。 如果你有更多信息,欢迎与我们联系。
从NPM下载量可以看出,Socket.IO的使用数在非常缓慢而平稳地增加。
另一方面,Sockjs和WS一直在稳步增长,并且NPM下载量已经超过了Socket.IO。
这表明虽然Socket.IO套接字的使用量有所增加,但开发人员已经开始使用替代方案了。 有些人选择了WS或SockJS等软件包。 其他人选择了托管解决方案,可以为用户处理复杂的实时消息,而且这其中许多人都使用了免费增值模型。
如下所示,现在所有主流浏览器都支持WebSockets。 这就抵消了对处理浏览器上套接字连接的软件包的一些需求,并解释了为何像WS这样处理服务器端套接字连接的软件包受欢迎程度增加,但仍得依赖于本机浏览器API进行客户端连接和通信。
总结
如上述所说,对于想要在客户端和服务器之间建立双向套接字连接的开发人员来说,Socket.IO是一个很有用的工具。它使得诸如实时聊天之类的简单应用程序更易操作。 Socket.IO使许多事情化繁为简,并为不受支持的客户提供后备,但它也有自己的取舍。
扩展应用程序可能是使用套接字时最困难的一件事,而Socket.IO对非WebSocket连接的操作进一步使扩展过程复杂化。Socket.IO的前景也不容乐观。
除了未来支持的问题,是否继续使用Socket.IO实际上取决于个人用例: 因为如果一开始是要使用构建简单的实时应用程序,Socket.IO可以胜任。随着更多应用支持WebSocket(这是自2010年Socket.IO成立以来,对实时应用程序和服务的需求大幅增长的回应),现在更多人选择使用更接近本机操作的类似软件包,因此这些软件也可与Socket相提并论。 但对于更复杂的、或你认为可扩展的应用程序,可能要将其他技术程序添加到你的的堆栈中。
原文地址:https://www.ably.io/concepts/socketio
原文作者:Glyn Lewington