java - 我应该从 Applets 迁移出去吗?如果是,迁移到什么地方?

标签 java javascript html applet

我是一名业余程序员,致力于开发在网页中运行的 Java 游戏 (JApplet)。我已经完成了编码并且在使用 Netbeans 时它运行良好但是我在部署它时遇到了很多麻烦。我已经签署了它,它以沙盒模式运行。然而,在许多不同的计算机(mac 和 pc)和不同的浏览器上测试它似乎都不想轻松运行小程序。

经过调查,它们似乎存在很高的安全风险(为什么浏览器不热衷于运行它们)并且搜索“小程序是否已死/未使用”会出现很多一致的结果。我一直在寻找替代品并看到以下列表。

  1. Java Web Start(显然也死了)
  2. JWrapper(不确定我是否热衷于第三方支持的代码)
  3. 从 Javascript/HTML5 重新开始

我不知道 javascript 或 html5,所以这意味着要从头开始,所以不热衷于该选项。

Java Web Start,也许它并不像人们所说的那样死去,但我不想依赖于可能在多年后浏览器不再支持的东西。

JWrapper...似乎只能在浏览器之外运行应用程序,我宁愿运行它。也不确定从 JApplet 转移到 JWrapper 需要多长时间。

我真的很感激在这方面的一些指导,因为我在三个相当可疑的选项中担任主 Angular 。

非常感谢

更新

感谢您到目前为止的所有回复。它证实了我担心我正在研究过时的技术!

我发现了两件事。

  1. 用于将 Java 转换为 JavaScript 的 GWT:我快速浏览了一下,虽然看起来学习曲线很小,但这次可能可以快速修复。
  2. 提供的答案建议我应该转向 JavaScript 和 HTML5。我的主要问题是我不想花六个月时间学习一门新语言。也许我过分关注学习曲线。我使用 C、C++、Java、C# 进行编程,所以我非常擅长基本编码(恕我直言),但我从未做过任何服务器端的事情。有人想过学习需要多长时间吗?

谢谢

最佳答案

如果你认真对待它,你绝对应该选择 JavaScript/HTML5,因为它是所有主流浏览器(包括移动版本)中唯一可用的选项。

如果只是爱好,你现在仍然可以使用 Applets,但请注意 Chrome ,以及 Edge (应该取代 Internet Explorer 的新 Microsoft 浏览器)不再支持 Java 插件。在可预见的 future ,Firefox 应该仍然支持它,但即使是他们 don't recommend使用 Java 等插件。 Safari 现在也支持它。

更新 1

Mozilla announced NPAPI 插件支持(包括 Java)将于 2016 年底从 Firefox 中删除。

这意味着仍然支持 Applets 的主流浏览器只有 Windows 上的 Internet Explorer(不再开发),Mac OS X 上的 Safari,Linux 上什么都没有。

如果您仍然更喜欢使用 Java 而不是 JavaScript/HTML5,唯一好的选择是 Java Web Start .它仅使用浏览器来启动 Java 应用程序,这些应用程序在启动后不会与浏览器交互。

更新 2

今天发布了 Firefox 52。从此版本开始,Mozilla 放弃了对包括 Java 在内的 NPAPI 插件的支持(Adobe Flash 是唯一的异常(exception))。苹果是preparing to do the same适用于 Safari。 Internet Explorer 是唯一支持 Java Applets 的主要浏览器。

甲骨文是 deprecating the Applet API在 Java 9 中。

关于java - 我应该从 Applets 迁移出去吗?如果是,迁移到什么地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30766338/

相关文章:

html - 如何很好地隐藏 CSS 边界线的一部分

css - 不能在不弄乱容器高度的情况下将两个 div 放在一行中

java - OpenJPA native 查询如何将 IN 运算符与列表一起使用

java - 调整 XORShift 生成器以返回最大值内的数字

javascript - .each 中嵌套 $.get

javascript - 由于 JQuery 脚本,页面的无尽 "loading"。如何解决?

Java:缺少库

Java Lambda 到 Kotlin

javascript - 将克隆的 Div 附加到原始元素的右侧,向左滑动,然后删除原始元素

javascript - ng-if 内的 ng-repeat $index 插值