首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有插件的浏览器上运行Java程序

在没有插件的浏览器上运行Java程序
EN

Stack Overflow用户
提问于 2019-10-13 18:50:15
回答 5查看 3.1K关注 0票数 4

几周前,我编写了一个显示实时图表的Java程序(即跟踪当前时间的记录),它的流速率为25 kbps,帧速率为20 kbps,没有相关的用户交互。考虑最终将其部署为Mobile、Web图表或简单地将其作为一个程序,Java对我来说是一个完美的选择。

在开始这个项目的网络版本之前,我开始调查,并根据2016年甲骨文白皮书从Java Applet迁移到免费插件Java技术

在未来的Java发行版(TBD)中,不推荐的插件技术将完全从Oracle Java开发工具包(JDK)和Java运行时环境(JRE)中删除。Java应用程序不依赖浏览器插件,也不会受到这些更改的影响。

根据2019年OpenWebStart

Java 9中不推荐Java Web Start ( JWS ),从Java 11开始,Oracle从JDK发行版中删除了JWS

然后我迷路了。

因此,使用这样的Java程序的方法是什么?这样做的合适的可持续Java方法是哪种(并且不受Java所发生的事情的影响)?

或者我应该换一种方法来做这件事,因为这个程序还处于起步阶段,考虑到我并不是Phyton的忠实粉丝,考虑到PHP并不是编程这类数字事物的精确方式,并且考虑到我不太愿意给Microsoft技术一个机会,我应该这么做吗?

如果有必要,调整和重写当前代码对我来说不是一个问题,但可能不是每5年做一次。

你会推荐我回到正确的道路上吗?

提前谢谢。

EN

回答 5

Stack Overflow用户

发布于 2020-06-15 05:52:39

最简单的最高性能选项是TeaVM,这是一个将Java类转换为JavaScript的转换程序。然后,您的代码在浏览器中本地运行,没有任何插件。

在这里阅读一篇介绍性文章:https://blogs.oracle.com/javamagazine/java-in-the-browser-with-teavm

TeaVM的主要站点在这里:http://teavm.org/

票数 3
EN

Stack Overflow用户

发布于 2020-01-23 00:29:59

考虑最终将其部署为Mobile、Web图表或简单地将其作为一个程序,Java对我来说是一个完美的选择。 (.) 因此,使用这样的Java程序的方法是什么?哪一种是正确的可持续Java方式来做到这一点(并且不受Java所发生的事情的影响)?

两行Java

发生的事情是,我们的老朋友Java标准版分成两行:

  1. Oracle (“商业Java"):自2019年4月16日以来发布的商业使用需要付费许可
  2. OpenJDK (“开放源码Java"):开放源码(带有链接异常的GPLv2),不包含Oracle的Java实现

Oracle Java SE版本使Java和Java仅支持Java 8。更新的Java版本,尤其是。Java 11不再携带这些。

这并不是一个完整的客户机/桌面技术删除,因为根据Java客户端路线图更新2018年,甲骨文在Java 8和Java 11上继续支持AWT和Swing至少5年。

您可以通过Java 继续部署

开源Java实现了Java,这是免费的,可用于Java 8和Java 11等更新的Java版本。

这是Karakun的OpenWebStart,它基于Red的红茶网,现在超过了1.0版本,您已经找到了。

不能保证继续提供支持,但似乎是有可能的。所以你可以继续这条路。

或者您可以通过应用程序商店进行部署

Oracle对删除Java的解释是,他们希望将部署模型更改为具有捆绑运行时的应用程序:

随着客户端应用程序开发继续从旧的“插件”世界转向现代部署,对独立于Java应用程序单独安装的独立Java运行时环境(JRE)的需求已经减少。使用JDK 9引入的“jlink”工具将使应用程序开发人员更容易打包和部署专用运行时,而不是依赖预先安装的系统JRE。 (资料来源:Java SE的更快、更容易使用和重新分配)

根据甲骨文的说法,部署将通过一些应用程序商店进行,比如iTunes商店:

毫无疑问,这是正确的,但OSes已经从这个模式快速而艰难地改变了。现在是“应用商店”模式了。几年来,macOS一直在努力降低这一水平。MSFT --即使是在企业市场--也表明了这一方向。当然,我们需要找到支持遗产的选择,但这里的未来是有限的。 (资料来源:OpenJDK讨论邮件列表)

注意,Java处理客户端机器上可用的新版本应用程序的更新,典型的应用程序商店也是如此。

当然,您可以在网站上提供捆绑运行时的应用程序版本,但是通常需要实现一些机制来处理用户机器上的应用程序更新。

选择什么?

确实,单独的JRE安装有缺点,例如我最近更改了JRE,突然间IDE for Java不再工作了。:-)

将部署从您控制的网站转移到由OS供应商或像Valve这样强大的玩家控制的应用程序商店,也有其自身的挑战。例如访问限制,费用,发布延迟,因为审查过程,或者他们可能不喜欢你的应用程序,因为某些原因,不会发布它。

然后采用:就我个人而言,我已经看到了应用商店的私人使用,主要是在移动设备和macs上,但在公司中还没有使用。这可能是你决定走哪条路的一个因素。

票数 1
EN

Stack Overflow用户

发布于 2020-05-30 12:03:03

我也错过了浏览器上的Java。出于好奇,我刚刚开发了一个"JVM-Server",它将Java类预编译为原生JavaScript,并将它们服务于WebBrowser。下面是一个运行在浏览器上的Hello示例应用程序:helloworld

还有一个实现WebGL绑定的库。在上面的示例中包含了一个WebGL演示,其中将呈现一个三维立方体。代码是用纯Java编写的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58366756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档