Java 应用程序(沙箱损坏)与 Web 应用程序

标签 java browser applet sandbox

我和我的公司正处于将基于 Java 的应用程序移植(或重写)到 Web 的早期规划阶段。它是一个自发的 SVG 编辑器和查看器,强调可访问性。这是一个成熟的项目,目前仅部署为 Windows 应用程序。它有几个 native 依赖项 (JNI):

  • Windows 语音 API (SAPI)
  • 自定义设备驱动程序(较少用户使用)。

我之前尝试过签名小程序,并且知道如果需要,我可以在浏览器中访问这些 native 例程。但这是正确的做法吗? 在我看来,将功能齐全的 Java 应用程序硬塞进网络浏览器是对技术的误用。它肯定不是传统意义上的网络应用程序。

如果有足够的时间,可以使用相当简单的 HTML、CSS 和 JavaScript 复制应用程序的大部分功能。如果系统更改为基于 Web 的客户端-服务器模型,我可以流式传输声音文件,从而消除对客户端的 SAPI 依赖性。设备驱动程序会更棘手,但在这种情况下,一个不可见的、可编写脚本的 Java applet 可能是合理的。

我意识到这有点主观,但我正在寻找对上述假设的确认。我看到网络放弃了单一的 Java/Flash 应用程序,转而使用 HTML+JavaScript UI。我正在寻找最好的“面向 future ”且独立于平台的方法。

(版主:如果需要,标记为主观)

最佳答案

如今,当人们用 Java 编写 Web 应用程序时,前端通常是 (X)HTML+CSS,使用 Javascript 来操作 DOM。使用 AJAX 进一步加强交互。

但这并不否定 Java 的使用。通常,您的所有业务逻辑仍将在服务器端完成,通常在 Java servlet 中完成,该服务从前端请求。

所以是的,一般来说,Web 正在远离将 UI 实现为 Java applet 的 Web 应用程序,但 Java 在 Web 应用程序市场中的作用比以往任何时候都强大。

关于Java 应用程序(沙箱损坏)与 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4347928/

相关文章:

java - 如何执行eclipse的任务计划程序?

Java - Eclipse JTextField 太大

javascript - 为什么某些 JavaScript 对象如此神奇?

java.io.IOException : Invalid Keystore format

java - 将 Java Applet 替换为另一种技术

java - Oracle:意外强制 RR 年份格式

java - Java中的间隔时间减法

javascript - 如何在不锁定浏览器的情况下对服务器执行 "synchronous"javascript调用

javascript - 防止 url 在底部导航栏弹出

java - 为什么我用 Eclipse 制作的 Java 小程序无法运行?