Ale*_*lls 63 browser ria javafx
我在去年对JavaFX做了一些研究,甚至用它构建了一些基本的桌面应用程序.
它被描述为用于创建RIA(富Internet应用程序).
http://en.wikipedia.org/wiki/Javafx
但它真的可以通过网络浏览器部署吗?我只通过可执行的JAR文件部署它.
通过Web浏览器部署有多容易?它有用吗?有任何人对此有经验吗?
http://docs.oracle.com/javafx/2/deployment/deployment_toolkit.htm
jew*_*sea 69
更新2018年3月的Java客户端路线图
我鼓励对此问题感兴趣的读者查看以下Oracle白皮书:
上述文章概述了Oracle在相关技术上的正式立场(JavaFX/Swing/AWT/Applets/WebStart),它打算支持这些技术的日期以及它打算转向开源开发项目的哪些技术与JDK和JRE.
2017年10月Java 9更新
根据Java 9发行说明:
Java Applet和WebStart功能(包括Applet API,Java插件,Java Applet Viewer,JNLP和Java Web Start,包括javaws工具)在JDK 9中都已弃用,将在以后的版本中删除.
因此,对于Java 9+,只能使用已弃用的技术在使用Java插件的浏览器中部署JavaFX.Oracle在Java 9发行说明的另一部分中指出:
在Oracle的JDK 9版本中弃用Java插件和相关的applet技术.虽然仍然可以在JDK 9中使用,但在将来的版本中将考虑从Oracle JDK和JRE中删除这些技术.嵌入在网页中的Applet和JavaFX应用程序需要运行Java Plug-in.考虑将这些类型的应用程序重写为Java Web Start或自包含应用程序.
注意:Java Web Start实际上并不是替代品,因为它也被弃用(无论如何,它与在浏览器页面中嵌入和呈现的应用程序不同).
作为提供类似功能的替代方案,请考虑像jpro这样的东西,它在没有Java插件的浏览器中部署JavaFX应用程序(jpro目前仅处于封闭测试阶段,因此截至2017年10月它不是一个可行的解决方案,但也许有一天会在未来...).
目前,我建议部署JavaFX应用程序的最佳方式是在浏览器外部运行的自包含应用程序.
Java 7和8的上一个答案
JavaFx - 它真的可以部署在浏览器中吗?
是的,可以部署JavaFX应用程序,以便它们在Web浏览器托管的html网页内运行.
允许这种情况发生的技术是Java插件.这个插件目前是基于NPAPI的浏览器插件解决方案.Java插件随Oracle Java 7运行时标准环境一起提供.
并非所有浏览器都受支持,只支持JavaFX支持的配置页面上列出的浏览器.
通过Web浏览器部署有多容易?
在Web浏览器中部署JavaFX项目的最简单方法是:
这并不困难(在我看来).
或者,按照部署JavaFX应用程序(或使用第三方工具)的详细参考说明进行操作.对于许多项目,使用NetBeans IDE以外的工具执行打包是一种更好的方法.但是,通常更容易让NetBeans IDE为您处理部署打包任务.
以下内容与回答原始问题无关,但提供了对此答案的评论中要求的一些意见和信息.
一些忠告
在浏览器中部署Java存在缺陷.我鼓励您就此主题进行自己的Google研究.
在我看来,基于当前的JavaFX 2.x部署模型,对于需要将浏览器作为主运行时容器的大多数应用程序类型,使用JavaFX不是一个合适的解决方案.
检查应用程序的部署和运行时要求.根据您的要求以及基于JavaFX浏览器的执行模型的知识,确定使用JavaFX技术的基于浏览器的部署是否是适合您的应用程序的正确机制.
浏览器嵌入式JavaFX应用程序存在一些潜在的困难
一些重要的浏览器(例如Internet Explorer 10,iOS Safari和很快桌面Chrome)不允许使用Java浏览器插件当前使用的NPAPI执行插件=>您的某些目标用户可能无法使用您的应用程序.
使用浏览器嵌入式应用程序,您无法完全控制应用程序执行的运行时(浏览器+ Java运行时+插件接口)=>首次安装时正在运行的应用程序在更新这些应用程序后可能会按预期停止运行运行时组件.
部署替代方案
如果基于浏览器的部署模型不适合您的应用程序,则还有其他方法可以部署JavaFX应用程序(例如WebStart,独立jar和独立应用程序).