Vaadin 是如何工作的?

How does Vaadin work?

任何人都可以向我解释 Vaadin 的服务器端 Java 组件是如何工作的吗?他们似乎在服务器端状态与称为 "widgetset".

的客户端 javascript 引擎之间进行同步

有人对 Vaadin 的内部结构有更详细的解释吗?我一直试图向我的同事解释它,但不知所措。

基本上,Vaadin 在服务器上运行您的 UI 代码,并将浏览器用作 "thin client"(小部件集)来创建和更新 DOM。所有服务器-客户端通信都是自动化的,并由 Vaadin 负责。就浏览器而言,浏览器中的最终结果只是一个普通的 HTML5 应用程序,不需要插件,它可以在不同的设备上运行。

再深入一点,框架中的每个组件都有服务器端和浏览器实现。两者共享一个由框架维护和通信的状态。由于所有通信都由框架处理,它能够通过仅发送差异和跳过发送默认值等来优化传输。此外,由于 widgetset 包含浏览器组件的 JS 实现,没有 HTML 模板在服务器上生成并发送过来,只有实际的组件状态更轻量级。

这里有来自文档的更深入的解释:https://vaadin.com/docs/-/part/framework/introduction/intro-overview.html