我正在研究一个web项目,想决定是使用jquery+signalr还是使用Angular及其mvvm模式在服务器和客户端之间进行实时通信。
我发现,SignalR试图在服务器和客户端之间建立一个websocket连接。如果这不起作用,则使用html -长轮询顺序ForeverFrame代替。这个行为是非常好的。
但是正如前面提到的,我也在关注Angular。它绝对是jQuery的一个相关的替代框架(从我的角度来看)。因为我有一些c#和WPF的经验,所以我对mvvm模式很熟悉。但我不知道是什么机制(websockets,长轮询,…)Angular确实会把数据从服务器发送到客户端的视图元素,这些客户端的视图元素与数据被修改过的视图模型有一个数据绑定。
我感谢任何提示或完整的回答这个问题:)
Angular2是用来构建应用程序的,这些应用程序完全运行在客户端。在浏览器中,或移动应用程序(使用native - script)或桌面应用程序(使用electron)。
模型、视图和控制器都在客户端。
如果你想与后端服务器通信,你必须使用http请求或实时,你甚至可以使用SignalR或socket.io..
SignalR为您提供了一个基础结构,您可以将消息从服务器发送到客户端,从客户端发送到服务器。"限制"是你必须用c# . net编写服务器部分。但是客户端可以是c# (WPF, Winforms,…),Java-或者javascript -客户端。
如果你打算用AngularJS写你的应用程序,有一个AngularJS模块可以为你做一些工作:https://github.com/JustMaier/angular-signalr-hub
如果你正在计划一个只更新用户输入数据的应用程序,你将不需要signalR。但是如果你需要服务器推送(意思是如果你正在编写一个应用程序,在服务器端的事件上更新客户端的数据),你可以使用signalr .