什么是WebSockets,我应该使用哪种JS框架?

3

我对JavaScript世界非常陌生,已经在后端使用了Laravel,但是当涉及到WebSockets时我有些混乱,因为当我查找WebSockets时,我看到它们都依赖于Node.js来实现像聊天应用程序这样的实时应用程序, 但是我也见过一个使用Vue.js和Laravel Echo制作聊天应用程序的教程,而没有使用Node.js。

对我来说比较困惑的是,如果我想学习Socket.io(例如),我是否需要先学习Node.js?Vue.js是Socket.io的替代方案吗?Ajax如何?它不是能够实现相同的性能吗?

很抱歉,对我来说有些混乱,我已经尝试查找相关信息,但还是有点懵,提前感谢。


嘿!这不是适合这个问题的正确论坛。这里并不是询问建议的正确场所(https://stackoverflow.com/help/on-topic)。我建议你把这个问题带到JavaScript子论坛去问(https://www.reddit.com/r/javascript)。 - Max Baldwin
当然,谢谢! - Mahmoud Hesham
http://dodo.mikosoft.info - Dodo是一个适合初学者的简单框架。它非常快速、易于学习,是一个用于响应式网页和应用程序的JavaScript前端框架。 - Saša M
2个回答

6
如果我想学socket.io(例如),我是否需要先学习Node.js?
是的。由于Socket.IO是一个Node.js包,因此学习Node.js是一种前提条件。不过它是最易学工具之一,所以不要感到畏 intimidated。
Vue.js可以替代socketio吗?
不行。Vue.js是前端框架,用于构建实际上看到的网站部分。Socket.io是一个包(或框架),它使得前端和后端之间的双向通信成为可能。例如,您可以使用它来构建聊天应用程序。
那么ajax呢?它不能达到相同的性能吗?
不行。Ajax是“异步JavaScript和XML”的缩写。这基本上意味着您从前端使用Ajax请求到后端。这里的区别在于Websockets/Socket.IO提供了Ajax缺乏的双向通信。但并非所有通信都需要Socket.IO。

1
谢谢Max,非常感谢! - molamk
1
非常感谢,但如果Vue.js不是一个替代方案,他如何仅使用它构建了一个聊天应用程序?甚至没有使用socket.io或其他任何东西?而且它运行良好。您能否解释一下这个问题?再次感谢! - Mahmoud Hesham
1
他是谁?为了回答你的问题,你可以使用类似于Socket.IO的其他技术。例如,你可以使用gRPC。另一个商业工具是Firebase,你可以用它来处理实时数据。 - molamk
1
这是教程 https://www.youtube.com/watch?v=5sXmfwnxfjA&list=PLJpBh2VJhy5x2GKfkfIcn0r6P6uLat7xR 他在使用axios,但它是否类似于socket io? - Mahmoud Hesham
1
没有 axios 是用于 HTTP 请求(Ajax 调用)的,它不像 Socket.io 那样是双向的。 - molamk
1
非常好的描述性回答 +1 - vimuth

0

我同意接受的答案中所述的一切,除了Vuejs不是一个替代品。虽然Vuejs是一个用于创建前端的JavaScript框架,但是如果您有一个带有SocketIO服务器的Nodejs服务器,则需要一个客户端(前端),该客户端必须能够通过SocketIO进行通信。您可以在这里看到这一点,这是最常见的Vue包装库之一,可用于从Vuejs使用SocketIO。我希望这可以帮助到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接