我已经阅读了维基百科上关于JavaFX的文章和其他几篇文章,我相信我对它是什么以及它的作用有了很好的理解。
我的问题很简单:Java EE最佳实践规定了在演示中使用什么?或者,是否可以同时使用它们?无论哪种方式,谁能举个例子说明什么时候选择其中一种比另一种更合适,为什么?
谢谢你的帮助;我只是不明白为什么有人想要/需要偏离JSF。
JavaFX和JSF是两种非常不同的动物。我认为JavaFX是Oracle版本的Adobe Flex(或Flash?)。它运行在JVM上,这意味着对于浏览器来说,它是一个较重的客户机。JSF使用标准的HTML控件和交互。
在虚拟机中运行,比如JavaFX或Flex意味着你不必像使用标准HTML/Javascript那样担心浏览器的功能,但这也意味着你要受虚拟机实现者的摆布,在浏览器XYZ上获得平台,并在平台和安全漏洞出现时修复它们。另一个需要考虑的问题是,一些企业环境可能不喜欢在浏览器中允许像flash/java这样的插件。
运行纯HTML/Javascript可能会让你在更多的设备上运行,并且比需要将虚拟机加载到浏览器中更轻(从未想过我会称JSF为"更轻的重量")。jQuery和其他Javascript框架减少了对跨浏览器兼容性的担忧,但不是完全。
所以,这里的答案和其他类似的问题是一样的:"看情况而定。"你的需求是什么?你正在做一个烦人的餐厅网站,你觉得菜单(即使它只是一个图像)需要一个沉重的插件加载?也许JavaFX可以满足这个要求。您是否正在做一个简单的CRUD应用程序,并且希望通过使用一个复杂的基于组件的框架来使事情复杂化?JSF可以帮助您。
与spring或struts相比,JSF具有非常丰富的UI,但是有维护会话和附加jar的术语。但是如果你使用richfaces、ibmfaces或primefaces,你的工作就会容易得多。JSF是一种规范,您需要使用它的实现,如richfaces或myfaces。