Java Web Start与嵌入式Java Applet

我将部署我的Java游戏向朋友们展示它,以及我在Java Web Start和applets之间做出决定时遇到了麻烦。

在什么条件下优先于另一种情况,有哪些优点/缺点?

如果你的游戏会占用大量的cpu和内存资源,我建议将它部署为Java Web Start,因为applet运行速度较慢。

如果你有一些java-javascript交互,你最好使用applet

在这里你可以找到一个有优点/缺点的表

Java applet的优势在于它们可以立即运行而无需用户点击任何内容。 此外,如果Java插件尚未安装,applet将自动提示浏览器下载Java插件。 如果您的最终用户不是非常精通技术,这一点很重要。

但是,applet在内存方面非常有限(60 – 90 MB),所以如果你的游戏使用大量图形,你会发现性能下降。

如果性能是一个问题,您可能必须使用Java Web Start。 它不会受到性能损失,但部署起来要复杂得多,最终用户也难以运行。

我将它作为任何一个运行,然后选择使用哪个。 小程序将很好地放在网页中。 WebStart应用程序看起来像普通的应用程序(只有一个小三角形表示它来自网络)。 从6u10开始,applet可以使用JNLP服务,并可以拖到桌面上。

由于Oracle在提供非NPAPI java插件方面没有取得任何进展,我认为applet是一种过时的技术。

否则,我们将潜入一个好的旧IE浏览器网站。 银行已经要求IE浏览器,因此他们不会花费大量资金来实现软件现代化。 我为他们感到难过。

实际上,您可以使用相同的Java applet代码同时启动applet和web start。 Web Start支持在单独的框架中启动未修改的applet .jar,您只需要正确编写JNLP文件。 如果需要,您可以在JNLP文件中指定applet参数。 唯一的区别是applet将在一个单独的框架中弹出,而不是作为网页的一部分,这可能是也可能不是问题。 为什么不同时提供applet和web start链接? JNLP编写起来并不比applet标签困难得多。

我认为除了applet在浏览器中的一些旧JRE中运行之外,Web start和applet性能之间应该没什么区别。 无论如何我都不会推荐这个 – 就像任何其他软件一样,Java随着时间的推移而不断发展并变得更好。 这可能解释了关于Web启动应用程序的速度更快的post,否则将很难理解。 如果你的applet也支持旧的JRE,我想你可以简单地在JNLP中指定低版本号,添加+,这样它也可以在未来的版本中运行。

Web Start要求客户端在其计算机上安装Java应用程序(可能还有JRE)。 如果他们没有安装软件的管理权限,那将是一个问题。