Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vaadin 瓦丁是如何工作的?_Vaadin_Vaadin7 - Fatal编程技术网

Vaadin 瓦丁是如何工作的?

Vaadin 瓦丁是如何工作的?,vaadin,vaadin7,Vaadin,Vaadin7,有人能给我解释一下Vaadin的服务器端Java组件是如何工作的吗?它们似乎在服务器端状态与称为“widgetset”的客户端javascript引擎之间进行同步 有人对瓦丁的内部结构有更详细的解释吗?我一直在试图向同事解释这一点,但我不知所措。基本上,Vaadin在服务器上运行用户界面代码,并将浏览器用作“瘦客户端”(WidgeSet)来创建和更新DOM。所有服务器-客户端通信都是自动化的,由Vaadin负责。就浏览器而言,浏览器的最终结果只是一个普通的HTML5应用程序,不需要插件,它可以跨

有人能给我解释一下Vaadin的服务器端Java组件是如何工作的吗?它们似乎在服务器端状态与称为“widgetset”的客户端javascript引擎之间进行同步


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

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

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


以下是文档中更深入的解释:

碰巧注意到您在卡尔加里。我将在两周内在那里举办一次瓦丁聚会,学习瓦丁的基本知识。如果有机会,请加入我们,并带上您的同事。(很抱歉在这里发布此消息,但据我所知,无法发送私人消息)我还想补充一点,基于GWT开发您自己的Vaadin组件有助于了解Vaadin的工作原理对于“瘦客户端”来说,它的重量相当重。基本上,客户端和服务器交换UI的状态会发生变化(单击按钮、更改文本等),Widgetset/客户端负责在浏览器中呈现UI。因此,如果您管理服务器中的状态,例如添加表行,则会通过ne next request(立即推送)通知客户端该状态。