【发布时间】:2010-12-03 17:00:39
【问题描述】:
我和我的公司正处于将基于 Java 的应用程序移植(或重写)到 Web 的早期计划阶段。它是一个强调可访问性的自发声 SVG 编辑器和查看器。这是一个成熟的项目,目前仅部署为 Windows 应用程序。它有几个本机依赖项(JNI):
- Windows 语音 API (SAPI)
- 自定义设备驱动程序(使用的用户较少)。
我之前尝试过签名的小程序,并且知道如果需要,我可以在浏览器中访问这些本机例程。但这是正确的方法吗? 在我看来,将功能齐全的 Java 应用程序硬塞到 Web 浏览器中是对技术的误用。它肯定不是传统意义上的网络应用。
如果有足够的时间,可以使用相当简单的 HTML、CSS 和 JavaScript 复制应用程序的大部分功能。如果将系统更改为基于 Web 的客户端-服务器模型,我可以流式传输声音文件,从而消除对客户端的 SAPI 依赖。设备驱动程序会更棘手,但在这种情况下,一个不可见的、可编写脚本的 Java 小程序可能是合理的。
我意识到这有点主观,但我正在寻找对上述假设的确认。我看到网络放弃了单一的 Java/Flash 应用程序,转而支持 HTML+JavaScript 的 UI。我正在寻找最佳的“面向未来”且独立于平台的方法。
(版主:如有需要,请标记为主观)
【问题讨论】:
-
要使其独立于平台,请使用您所知道的所有语言的子集并具有自动源代码转换器的语言。或者使用可以长期支持的东西,例如JS.
-
我尝试了 Google 的 GWT,它将 Java 代码编译成 JavaScript。这真的很酷,但似乎很容易出错,除非我从头开始。在这种情况下,我不会得到太多。我想我的意思是我觉得我应该避免在浏览器中嵌入高度复杂的 Java 应用程序,就像避免瘟疫一样。这有效吗?
标签: java browser applet sandbox