跨平台可执行/运行时传递方法

时间:2008-12-08 16:16:46

标签: java flash silverlight cross-platform

我需要协助找到最符合以下要求的交付方式:

  • 我们希望向客户提供单个文件。
  • 客户端应该能够从操作系统shell启动此文件 - 就像在Windows上运行'.exe'一样。
  • 启动后,程序/脚本应该能够显示包含HTML内容的窗口。这可以使用独立程序,运行时或在浏览器中运行来完成。
  • 我们需要能够在交付的文件中嵌入资源,例如mp3文件,我可以稍后以编程方式提取。
  • 最理想的解决方案应该在Windows,Mac和Linux机器上运行。不太理想的跨平台互操作性是可以接受的,但我们希望尽可能广泛地渗透。
  • 客户不需要预先安装任何东西(除非透明地完成),预先配置任何东西,或批准任何事情发生。

例如:

  • 我们可以使用用C ++编写的常规可执行文件来执行此操作,但它不会是跨平台的。
  • 我们可以使用sliverlight XAP文件,adobe Flex文件或Java JAR,但Internet Explorer会在启动本地内容时向用户发出警告。此外,这些方法意味着我们的渗透率并不完美,即使在这些情况下也是可以接受的。
  • 我们可以使用python(或等效的)脚本,但python解释器的安装基础(渗透)不够好。
  • 使用标准HTML是不够的,因为在其中嵌入资源很困难。在HTML中嵌入Silverlight XAML或uuencoded内容会导致IE显示警告。
  • 因为我们需要显示HTML,所以使用jpeg作为传递方法的东西是不够丰富的。

6 个答案:

答案 0 :(得分:2)

  

..但是,当启动本地内容时,Internet Explorer会警告用户。

我不明白,IE的问题是“嘿,这个应用程序试图运行你的文件!”

我并不是说你没有充分理由这样做,只是,我不明白。

IE将仅警告用户是否尚未下载该应用并尝试访问本地资源,例如,如果从applet或JNLP运行此类one:(单击您看到的第一个橙色按钮)

但是如果用户下载jar并从计算机上运行它(双击它),该应用程序是本地的,可以毫无问题地运行。

毕竟jar文件是一个zip文件,所以你可以附上你的mp3文件。在所需平台中支持双击,并且HTML内容可以是本地文件(与mp3文件一起打包)或互联网网页。

已经在这些操作系统上预装了Java。

答案 1 :(得分:0)

“Internet Explorer在启动本地内容时警告用户”

这是有原因的。他们如何区分您的优秀,乖巧,礼貌的应用程序与病毒?

由于您的应用与病毒之间的界限非常非常模糊,请使用任何Silverlight XAP文件,adobe Flex文件或Java JAR。

IE业务是一件好事,也不是坏事。

答案 2 :(得分:0)

您可以尝试使用'Jetty'应用程序服务器。

这假设目标机器上有一个可用的java环境。

Jetty是java servlet容器,但可以配置 一切(网络服务器,HTML模板,应用程序等) 单个可执行jar,它启动Web服务器并打开一个默认页面。

jar文件的确切启动方式因平台而异 但是否则用户界面将是identicle,并且作为它的java应用程序 你可以做任何已经开始的事情。

答案 3 :(得分:0)

听起来MIME HTML完全符合您的要求 - 遗憾的是,IE以外的许多浏览器都不支持它。

答案 4 :(得分:0)

我会调查Adobe AIR。它可以在桌面应用程序中显示HTML和Flex内容,而无需使用Web浏览器。但是,这将需要安装AIR运行时,我也不确定Linux版本是否超出测试阶段。

http://www.adobe.com/products/air/

答案 5 :(得分:0)

您还可以为每个平台使用二进制文件。

根据您的描述,该应用程序非常简单,从一个平台移植到另一个平台听起来像是重新编译的问题,并根据dist提供二进制文件。

这是一个选择吗?