Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java应用程序(沙盒破损)与Web应用程序_Java_Browser_Applet_Sandbox - Fatal编程技术网

Java应用程序(沙盒破损)与Web应用程序

Java应用程序(沙盒破损)与Web应用程序,java,browser,applet,sandbox,Java,Browser,Applet,Sandbox,我和我的公司正处于将基于Java的应用程序移植(或重写)到web的早期规划阶段。它是一个强调可访问性的自发声SVG编辑器和查看器。这是一个成熟的项目,目前仅作为Windows应用程序部署。它有几个本机依赖项(JNI): Windows语音API(SAPI) 自定义设备驱动程序(较少的用户利用) 我以前曾尝试过签名小程序,并且知道如果需要,我可以在浏览器中访问这些本机例程。但这是正确的方法吗在我看来,将功能齐全的Java应用程序塞进web浏览器是对技术的错误使用。从传统意义上讲,它肯定不是一个

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

  • Windows语音API(SAPI)
  • 自定义设备驱动程序(较少的用户利用)
我以前曾尝试过签名小程序,并且知道如果需要,我可以在浏览器中访问这些本机例程。但这是正确的方法吗在我看来,将功能齐全的Java应用程序塞进web浏览器是对技术的错误使用。从传统意义上讲,它肯定不是一个web应用程序

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

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


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

如今,当人们用Java编写web应用程序时,前端通常是(X)HTML+CSS,Javascript操纵DOM。通过AJAX进一步增强了交互

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


因此,是的,总体而言,Web正在远离Web应用程序,UI实现为Java小程序,但Java在Web应用程序市场中的作用比以往任何时候都要强大。

要使其独立于平台,请使用您所知道的所有语言的子集,并使用自动源代码转换器。或者使用一些可能会被长期支持的东西,例如JS。我用谷歌的GWT进行了实验,它将Java代码编译成JavaScript。这真的很酷,但似乎很容易出错,除非我从头开始。那样的话,我就不会有什么收获了。我想我的意思是,我觉得应该避免在浏览器中嵌入高度复杂的Java应用程序,就像避免瘟疫一样。这有效吗?好的,使用Java服务器端是我没有充分考虑的一个重要方面。在我的情况下,这可能会更好,所以谢谢你提出这个问题。另外,你提到了“网络应用市场”。我在做一些挖掘,发现了一篇Mozilla实验室的帖子()。谷歌实验室也在做类似的事情()。我以前的理解是,“web app”是“花哨的AJAX网页”的一个更时髦的同义词。然而,我现在的定义比以往任何时候都更加模糊。有人有额外的资源吗?我正试图弄清楚开发和部署这个(以及未来)应用程序的最佳长期计划。@zourtney:我不会缩小定义的范围。web应用程序是通过web提供服务的应用程序。也许可以将范围缩小到通过浏览器访问的应用程序。“Web2.0应用程序”通常指的是AJAX-y页面。