2008-12-08 27 views
2

我需要幫助尋找最符合以下要求的交付方式:跨平臺執行/運行交付方法

  • 我們希望提供一個單一的文件給我的客戶。
  • 客戶端應該能夠從操作系統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的行作爲傳遞方法的東西並不夠豐富。

    還有一個原因

回答

2

..但是當本地內容推出的Internet Explorer警告用戶..

我不明白,什麼是與IE瀏覽器說:「嘿,這個程序是試圖運行問題你的文件!「

我不是說你沒有很好的理由,只是,我不明白。

IE瀏覽器將只警告用戶,如果應用程序尚未下載並嘗試訪問本地資源,例如,如果從applet或類似這樣的one:一個JNLP運行(點擊第一個橙色的按鈕,你看到的)

但是,如果用戶下載jar並從計算機上運行它(雙擊它),該應用程序是本地的,並且可以毫無問題地運行。

該jar文件畢竟是一個zip文件,所以你可以附上你的mp3文件。所需平臺支持雙擊,HTML內容可以是本地文件(與mp3文件一起打包)或Internet網頁。

Java已經預裝在這些操作系統上。

+0

無法保證用戶預裝了JVM。 – 2008-12-08 17:00:27

+0

Mmhh正確。至少它在所有OSX中。從所有可用的選項中,java是大多數安裝的選項。 – OscarRyz 2008-12-08 17:21:06

0

「當本地內容推出的Internet Explorer警告用戶」。他們如何區分你的優秀,乖巧,禮貌的應用程序和病毒?

由於您的應用程序和病毒之間的界限非常非常模糊,請使用任何Silverlight XAP文件,Adobe Flex文件或Java JAR。

IE業務是一件好事,不是壞事。

0

您可以嘗試使用'Jetty'應用程序服務器。

這假設目標機器上有一個可用的java環境。

碼頭是Java Servlet容器,但有可能在 一個可執行的JAR文件,這將啓動Web服務器,並打開一個默認頁面配置 一切(Web服務器,HTML模板,應用等)。

究竟是怎麼jar文件推出將平臺而異 但除此之外,用戶界面將是identicle,並且,作爲一個Java應用程序 你可以做幾乎任何一個已經開始。

0

聽起來像MIME HTML正是你想要的 - 不幸的是,除IE以外的許多瀏覽器都不支持它。

0

我想調查Adobe AIR。它可以在不使用Web瀏覽器的情況下在桌面應用程序中顯示HTML和Flex內容。但是,這將需要安裝AIR運行時,我也不確定Linux版本是否超出測試階段。

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

+0

這個選項的問題是,據我所知,空氣的安裝基礎非常有限。 – 2008-12-08 17:47:29

0

您也可以使用二進制爲每個平臺。

根據您的描述,該應用程序非常簡單,並且從一個平臺移植到另一個平臺聽起來就像是重新編譯並基於dist提供二進制文件。

這是一個選項嗎?