【问题标题】:Mobile and Desktop Web Application with Server Push带有服务器推送的移动和桌面 Web 应用程序
【发布时间】:2017-02-24 22:45:14
【问题描述】:

我希望构建一个混合的移动和桌面 Web 应用程序,能够向客户端执行服务器推送,但需要一些关于我应该研究或采用的优选技术和路线的建议。什么是处理服务器从后端推送回客户端层的现代且简单的方法?我还想补充一点,我没有使用过许多可能在这种情况下有用的前端技术,但如果他们能完成工作,我很想尝试一些。

这是一个粗略的图表,显示了我想要实现的场景。更多详细信息和所需流程如下。


1. Desktop-1 是第一个登录的,设置了一些设置并控制下一步操作。
2. 当未来的客户端登录时,其他人会通过服务器推送得到通知,并且 UI 会更新以反映这一点。已加入的其余客户端现在正在等待 Desktop-1 执行的操作。
3. Desktop-1 执行发送到后端的操作。
4. 后端向所有其他客户端发送更新数据的推送消息,以便他们可以刷新反映新当前状态的 UI。
5. 下一个执行动作的是尚未轮到的客户之一,并且该过程重复。
类似于回合制游戏。

• 通过移动/桌面浏览器访问。
• 一次只有一个客户端可以控制并能够发出操作。
• 我预计不会有大量客户(大约 10 个),但学习任何可以扩展的新技术都会很有趣。
• 简单的用户界面——对外观或用户界面框架没有真正的偏好。

到目前为止我所看到的可能使我的任务可行的内容:
• 之前做过一些 GWT 应用程序,Vaadin 看起来是一个有趣且合适的选择。也许为移动设备和桌面提供常规的 TouchKit UI。
• Spring Boot、Bootstrap、带有 WebSockets 或某些框架的 Java 后端 -- Errai/Atmosphere。

【问题讨论】:

    标签: web-applications responsive-design architecture vaadin


    【解决方案1】:

    我将从 Vaadin 的角度回答这个问题:

    Vaadin 非常适合这一点,因为它开箱即用地处理您的所有要求。

    使用正确的 UI 主题和布局,您可以获得针对不同客户端类型的响应式 UI。

    服务器推送已经存在,具有多级回退,具体取决于客户端的功能。

    实现自己(或使用插件)唯一需要做的就是将消息从 Desktop1“广播”到所有其他人,反之亦然。 为此,存在一些事件总线样式的插件,允许不同的客户端一起通信。

    对于一些数百名用户来说,扩展并不是一个大问题,除非你在服务器上存储了太多关于用户会话的信息。 但这可能是一个带宽问题,当您必须根据消息大小将消息发布到 499 个其他客户端时。 测试没问题,但是向 499 客户“广播”视频往往很慢。

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 2014-03-25
      • 1970-01-01
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-27
      • 1970-01-01
      相关资源
      最近更新 更多