【问题标题】:Vaadin architectural questions - Single-Page App? Clean model-view-controller?Vaadin 架构问题 - 单页应用程序?清洁模型视图控制器?
【发布时间】:2017-06-10 18:43:36
【问题描述】:

我有一些关于 Vaadin 架构的简单问题。

  1. Vaadin 文档声称它是一个Single-Page Application (SPA),但由于页面是在服务器端渲染的,所以它怎么可能在这里和那里使用一些 JavaScript? 如果答案是肯定/可能,Vaadin 如何在客户端解决页面路由问题?
  2. Vaadin 是否提供干净的模型-视图-控制器分离?对控制器进行单元测试是否容易?

最后,你为什么会选择 2017 年的 Vaadin?

【问题讨论】:

  • 询问有关选择 Vaadin 的问题对于 Stack Overflow 来说过于宽泛。但动机的简要概述:Vaadin 旨在为 Web 应用程序构建用户界面,其风格和质量与本机应用程序的风格和质量有关,旨在满足企业风格的目的,例如会计、库存、工作流等。非常适合想要使用Java 的特性(可靠性、性能、出色的工具、丰富的库)服务器端,无需了解 HTTP、HTML、CSS、DOM、JavaScript、WebSocket、Push 和其他以客户端透明方式处理的底层 Web 标准技术的细节。在 Vaadin 旁边。

标签: javascript model-view-controller vaadin


【解决方案1】:

Vaadin 文档声称它是一个 SPA,但是由于页面是在服务器端呈现的,并且到处都是一些 javascript,这怎么可能呢?如果答案是yes/maybe,Vaadin 如何在客户端解决页面路由问题?

“页面已呈现...”不正确。

更准确地说,在第一次请求之后,唯一的页面只是在开始时呈现。之后,它只是以 JSON 格式从服务器获取的 DOM 增量。 Vaadin 没有声称可以处理页面路由,因为只有一个页面。

current Vaadin demonstration sites 和旧的Reindeer Theme demo 中查看自己的行为。

【讨论】:

  • +维克兰特;我说 Vaadin 声称是 SPA,但他们没有提到页面路由是否在客户端处理......这是否意味着您可以创建单个页面(让我们说带有菜单)并单击其中的菜单项turn 会导致页面的一部分被新内容(即路由)刷新,而不是通过服务器获取的整个页面?抱歉,可能会问一些愚蠢的问题,Vaadin 是一种服务器端技术,所以它最大程度地混淆了我关于它声称是 SPA 的说法。
  • Vaadin 不知道或理解页面路由。
  • 这是否意味着您可以创建一个页面(比如说使用菜单)并单击菜单项,这反过来会导致页面的一部分被新内容刷新(即。路由),而不是通过服务器获取的整个页面? - 没错。
  • +维克兰特:谢谢你的答案。顺便说一句,服务器和浏览器之间如何交换数据? REST w JSON?前任。一个文本框和一个按钮出现在表单中。当用户单击按钮时,文本框的值将作为 JSON 或字符串值发送到服务器?
  • 数据以 JSON 格式获取(透明)。 stackoverflow.com/questions/25864543/…
猜你喜欢
  • 1970-01-01
  • 2017-04-14
  • 1970-01-01
  • 2013-12-06
  • 1970-01-01
  • 2011-08-09
  • 1970-01-01
  • 2014-02-10
  • 2019-02-20
相关资源
最近更新 更多