【问题标题】:Java App (with a broken sandbox) vs Web AppJava 应用程序(带有损坏的沙箱)与 Web 应用程序
【发布时间】: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


【解决方案1】:

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

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

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

【讨论】:

  • 好的,使用 Java 服务器端是我没有充分考虑的重要部分。在我的情况下可能会更可取,所以感谢您提出这个问题。
  • 另外,你提到了“网络应用市场”。我正在做一些挖掘工作,偶然发现了一个 Mozilla 实验室的帖子 (blog.mozilla.com/blog/2010/10/19/…)。谷歌实验室也有类似的事情(code.google.com/chrome/apps/docs/index.html)。我之前的理解是,“web app”是“fancy AJAX pages”的更流行的同义词。然而,我的定义现在比以往任何时候都更加模糊。有没有人有任何额外的资源?我正在尝试了解开发和部署此(以及未来)应用程序的最佳长期计划。
  • @zourtney:我不会缩小定义。 Web 应用程序是通过 Web 提供的应用程序。也许将其缩小到通过浏览器访问的应用程序。 “Web 2.0 应用”通常指的是 AJAX-y 页面。
猜你喜欢
  • 2011-10-21
  • 2016-02-05
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
  • 1970-01-01
  • 2011-02-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多