问题很简单:我们能否将 JavaFX 用作在浏览器上运行的瘦客户端,而 Java 服务器完成大部分工作?IE:使用 JavaFX 创建 UI 及其控制器,并让业务/数据库连接/等部分在服务器上运行?即使可能,这会是一个复杂的转变吗?
2 回答
根据您提供的信息,我不一定会说 JavaFX 非常适合,但另一方面我不会担心加载时间。我的理由是:JavaFX 的坏处在于您对客户端 (JVM) 有额外的技术要求,并且需要某种形式的安装(即使它只是一个小程序)。这些不会成为 HTML5 的一个因素。如果以下情况之一为真,JavaFX 优于 HTML5:
1) 您有复杂的控件和/或大量用户与 UI 的交互
2) 你需要你的应用程序非常华丽,例如通过合并动画
3)你有一个复杂的业务逻辑,你想在客户端上执行(例如,因为你以前有一个富客户端的实现)
“一些表格和简单的控件”并不适合这里。
我不太担心下载时间的原因是企业应用程序的大多数用户会从几台不同的机器上大量使用您的应用程序,因此缓存应该可以解决这个问题(加上 FX 应用程序不会有那么大)。
可以在此处找到有关该主题的有趣文章:http ://www.oracle.com/technetwork/articles/java/casa-1919152.html 。由于它直接来自 Oracle,因此您当然应该对它持保留态度,但我确实同意一般概念。本文还概述了切换到 JavaFX 时的一些(主观)体验。
如果它是一个企业应用程序,并且您已经知道您的用户将在他们的客户端上安装 java,那么 javafx 是一个很好的解决方案。如果不是这样,那么在第一次运行应用程序时,下载 javafx jar 可能会非常麻烦,因为它非常大(可以理解)。我将它用于企业应用程序,并且网络启动功能运行良好。而且不要忘记,如果您使用的是 jdk 7,那么有一个 javafx 打包器将为您的应用程序创建单个文件安装程序/运行时。我无法为此提供很多细节,因为我还没有为此烦恼。