JavaFX - 它真的可以部署在浏览器中吗?

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项目的最简单方法是:

  1. 在NetBeans中创建一个新的JavaFX项目.
  2. 开发一个简单的HelloWorld应用程序.
  3. 按照部署第一个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和独立应用程序).

  • 非常感谢您的评论。我认为,如果您仅列出有关在浏览器中使用JavaFX的前2-3条投诉,那将对每个人都大有帮助。 (3认同)
  • 好的,更新了几个潜在的困难答案(不是投诉). (3认同)

T.J*_*der 42

JavaFX - 它真的可以部署在浏览器中吗?

没有了,不会再有了.

答案过去是肯定的,正如在这个答案中所给出的那样,尽管即使在2013年写作的时候,写作也在墙上.但是,这里2016年的答案是否定的,它不可以.现代浏览器基本上不再支持NPAPI(Firefox适用于Java,但仅限于年底),并且Java插件需要NPAPI.


KIC*_*KIC 11

截至2016年,您可以使用jpro而无需任何浏览器插件.它甚至可以在手机上运行.

编辑1:该项目对于非商业或开源项目是免费的.这里可以找到"你好世界"

  • 它是stil beta你可以订阅在可用时通知或(我猜)要求获得beta访问. (2认同)