我公司目前正在评估 Java FAT 客户端的开发。它应该支持动态 GUI,并在服务器端拥有尽可能多的逻辑。因此,出现了将屏幕作为 XML 发送到 FAT 客户端的想法,将其显示给用户并将类似于“html 表单”的输入数据以如下结构发送回:
<fields>
<field type="checkbox" name="active" checked="false" x="10" y="10" />
<field type="textbox" name="username" value="dummy" x="10" y="30" />
<field type="selection" name="group" selectedIndex="1" x="10" y="50">
<data index="0">user</data>
<data index="1">admin</data>
</field>
<field type="button" name="ok" x="10" y="70" />
<field type="button" name="cancel" x="10" y="90" />
</field>
背景
赞助商正在寻找一种数据输入和审查应用程序,他们可以通过简单地更改配置来适应他们的需求。因此,我们必须为他们的管理员提供一种可能性来设计所谓的“屏幕”(又名表单),并提供一个客户端/服务器系统,使他们能够将这些分发给他们的最终用户。传入数据(即用户输入的数据)随后将转发到处理业务逻辑的现有工作流引擎。
问题
有人在那里开发了类似的东西吗?你会推荐哪些图书馆?有什么利弊吗?非常感谢!
最佳答案
当我上次寻找这样的东西时,有两个选项是 Thinlet和 Apache Jelly .
优点是您可以将应用程序的布线和构造与行为分开。我不确定他们中的任何一个是否能做到这一点,但我猜可能有一些功能可以转换成另一个工具包,就像Lazlo一样。可以翻译成 AJAX 和 Flash。
在我找到这些工具之前,我已经基于 JHTMLEditor 编写了一个类似的工具包(当时 Echo 是最前沿的,而 Java 1.3 是最前沿的)。它工作正常,但监听器与渲染器在同一虚拟机中运行。
这提出了@Draemon 提出的观点,在客户端/服务器上下文中,我不得不问这是否是解决更大问题的有效方法。我猜您想将大量 CPU 周期卸载到客户端?也许如果你再补充一点,我们可以提出更多建议?这确实指向一种方法,您的应用程序作为 localhost
网络服务器部署在桌面上,并且您将页面提供给本地浏览器。
如果你可以等,我会等JavaFX ,因为这将使构建小程序更具声明性,并且还将减少渲染库的初始下载。
关于以 XML 描述的 Java GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/321034/