在网页上运行基于java(FX)的应用程序

在网页上运行基于java(FX)的应用程序,java,javafx,browser,Java,Javafx,Browser,我目前正在javaFX上写一个游戏,我计划将来把它发布在我运行的网站上(在那里结束利用广告)。问题是,在搜索了一点之后,似乎没有办法在浏览器上运行java应用程序 允许人们通过浏览器运行它将真正有助于共享程序 我的问题是:今天(2018年)有没有办法通过web运行java应用程序?虽然我喜欢java,但不支持浏览器似乎是一个非常非常糟糕的主意 哦,我也听说过JavaWebStart。虽然它看起来只是在避免问题(不在浏览器中运行),但它似乎是共享应用程序的好方法。问题是它似乎(将?)被弃用了?我很

我目前正在javaFX上写一个游戏,我计划将来把它发布在我运行的网站上(在那里结束利用广告)。问题是,在搜索了一点之后,似乎没有办法在浏览器上运行java应用程序

允许人们通过浏览器运行它将真正有助于共享程序

我的问题是:今天(2018年)有没有办法通过web运行java应用程序?虽然我喜欢java,但不支持浏览器似乎是一个非常非常糟糕的主意

哦,我也听说过JavaWebStart。虽然它看起来只是在避免问题(不在浏览器中运行),但它似乎是共享应用程序的好方法。问题是它似乎(将?)被弃用了?我很无助,就像java不再尝试了


PS:如果有任何不同,我的游戏将是一个2D游戏,第三人称视图。它还需要一些服务器的东西,因为玩家将创建其他人可以挑战的“竞技场”。我想说的是,我的游戏并不“简单”。

如果您愿意支付代码签名证书的费用,Java Web Start可以很好地完成这项工作。(它们比普通的SSL证书要昂贵得多。)其想法是用户单击页面上的超链接,这会导致用户的Java安装启动您的应用程序(可能在安装后)。这要求用户事先安装Java

如果您没有资源或不想使用代码签名证书,可以查看。它允许您为JavaFX应用程序创建本机安装包。缺点:您需要每个平台为其创建一个安装程序。也就是说,您需要Windows来创建Windows安装程序,需要OS X来创建OS X安装映像,需要Linux来创建Linux包。有些可能还需要使用本机工具进行签名

Java9包括和工具,它们能够使用可执行的shell脚本或.bat文件创建文件树。一个主要的优势是,如果您在您的机器上解包外部平台的JDK,您可以为任何平台构建这样一个树,而不管您自己的平台如何。另一个优点是用户根本不需要安装Java。缺点是脚本需要终端,除非在Linux上运行

当然,您可以按照手动方式分发一个zip文件,其中包含您的.jar文件、您编写的shell脚本和您编写的.bat文件。这并不优雅,但总比没有好。但它可能会绊倒一些非技术用户

有许多工具可以从.jar文件创建本机可执行文件,但我对它们并不熟悉(我更喜欢避免使用第三方工具,除非它们确实必要)

无论你选择什么方法,答案都是一样的:你在你的网页上发布一些用户下载并运行的东西。除下载过程外,不涉及浏览器


你不能让用户在浏览器中运行你的应用程序。这是有充分理由的:这对浏览器性能、Java运行时、安全性和用户体验都是一场灾难。而且Firefox几乎禁止使用插件,因此你将锁定相当大比例的用户。

如果你愿意支付代码签名证书的费用,Java Web Start会做得很好。(它们比普通的SSL证书要昂贵得多。)其想法是用户单击页面上的超链接,这会导致用户的Java安装启动您的应用程序(可能在安装后)。这要求用户事先安装Java

如果您没有资源或不想使用代码签名证书,可以查看。它允许您为JavaFX应用程序创建本机安装包。缺点:您需要每个平台为其创建一个安装程序。也就是说,您需要Windows来创建Windows安装程序,需要OS X来创建OS X安装映像,需要Linux来创建Linux包。有些可能还需要使用本机工具进行签名

Java9包括和工具,它们能够使用可执行的shell脚本或.bat文件创建文件树。一个主要的优势是,如果您在您的机器上解包外部平台的JDK,您可以为任何平台构建这样一个树,而不管您自己的平台如何。另一个优点是用户根本不需要安装Java。缺点是脚本需要终端,除非在Linux上运行

当然,您可以按照手动方式分发一个zip文件,其中包含您的.jar文件、您编写的shell脚本和您编写的.bat文件。这并不优雅,但总比没有好。但它可能会绊倒一些非技术用户

有许多工具可以从.jar文件创建本机可执行文件,但我对它们并不熟悉(我更喜欢避免使用第三方工具,除非它们确实必要)

无论你选择什么方法,答案都是一样的:你在你的网页上发布一些用户下载并运行的东西。除下载过程外,不涉及浏览器

你不能让用户在浏览器中运行你的应用程序。这是有充分理由的:这对浏览器性能、Java运行时、安全性和用户体验都是一场灾难。而且Firefox几乎禁止使用插件,因此你将锁定相当大比例的用户。

“问题是,在搜索了一点之后,似乎没有办法在浏览器上运行java应用程序。”-是的,这是正确的。“不支持浏览器似乎是一个非常非常糟糕的主意”-好吧,回到20世纪90年代小程序第一次出现的时候-那些日子是多么有趣,即使回到t