2008-09-24 71 views
20

自Adobe AIR發佈以來,我想知道爲什麼Java Web Start在過去沒有得到更多的關注,對我來說它似乎非常相似,但是Web開始可用的時間更長。針對Java Webstart的異議?

難道這主要是因爲Sun的市場營銷不好,還是除了需要安裝正確的JVM之外,還有更多的技術問題?你有使用Web Start的不好經歷嗎?如果是,哪個?使用Web Start分發應用程序時,您有什麼建議?

回答

20

在我的公司,我們使用Java Web Start來部署Eclipse RCP應用程序。這是一個痛苦的設置,但一旦到位就很好。所以我唯一可以做的建議是從小處着手,去掌握它。首先部署一個簡單的應用程序。試圖部署一個完全沒有JWS經驗的產品會變得非常複雜。

另外,學習如何將參數傳遞給JWS應用程序對於調試非常有用。設置環境變量JAVAWS_VM_ARGS允許將任何屬性設置爲Java虛擬機。在我的情況:

-Xdebug -Xnoagent -Xrunjdwp:交通= dt_socket,服務器= Y,暫停= Y,地址= 4144

幫助時,您需要檢查在啓動過程中的問題(暫停= Y)

我認爲接受Java Web Start的主要問題是安裝起來相對困難。此外,不知何故,這種不協調:當你有一個桌面應用程序,人們期望一個安裝程序,他們可以雙擊。當你有一個Web應用程序時,人們希望他們可以直接從瀏覽器使用它。 Java Web Start不在這裏不存在...

雖然它廣泛用於內聯網。

4

我在JWS中做過一次項目,運行起來很痛苦。更糟糕的是,我甚至沒有處理整個互聯網,這是一個小型的應用程序,只有我的辦公室裏幾個人纔會使用。在配置服務器並幫助他們在客戶端機器上設置應用程序時,我厭惡地舉起了雙手。我認爲AIR現在變得越來越流行(儘管我不知道它會得到多少),因爲它有人們真正想要使用的應用程序(命名你最喜歡的JWS應用程序......繼續,我等待着)如twhirl。我仍然不是AIR工作方式的忠實粉絲,但它比JWS要好得多。

7

我從事銀行內聯網工作5年,我的開發已經開發併發布了大量Java Web Start應用程序,這些應用程序在世界各地使用,我認爲Java Web Start具有最好的桌面應用程序(易於開發,豐富的用戶界面,客戶端計算機的處理能力)和Internet應用程序(易於部署和升級)。

我真的很喜歡Java Web Start的

4

這裏是mindprob列表:

  • Java Web Start應用是痛苦的緩慢啓動。監視器爲它自己和每個應用程序加載一個新的JVM。應用程序始終在Web上檢查更新,下載和處理整個新的JNLP文件,而不僅僅是檢查日期。但是,如果檢查新版本需要80秒左右,則意味着您可能在代理服務器上遇到問題。啓動javaws.exe並點擊編輯⇒首選項⇒網絡設置⇒直接。您不希望JWS嘗試使用Google Accelerator代理。同時檢查IE瀏覽器,點擊工具⇒Internet選項⇒連接⇒局域網設置,並確保一切都如你所願。
  • 更新需要與原始應用程序一樣長的下載時間。應用幾乎沒有巧妙的做法,使更新更緊湊。
  • 它需要在ISP上運行自定義代碼才能正確提供jardiff文件或使用即將推出的pack200超級壓縮。
  • 自其首次發佈以來,它並沒有太大改變。它可能是又一個孤兒產品。它不值得。然而,Sun在一年左右的時間裏發佈了新的測試版1.2,並且已經集成到了JRE中,所以我們將會看到它是否會再次升級。他們忽略了一些主要問題,例如隱藏在啓動畫面後面的證書OK,並且需要單獨爲每個罐子確定。即使是孤兒也沒有可怕的事情發生。除非您編寫未簽名的JWS應用程序並使用JWS沙箱,否則JWS應用程序將獨立運行。
  • 它需要在ISP和客戶端瀏覽器中對JNLP MIME類型進行特殊配置。這些都不在開發者的直接控制之下。
  • 如果您有緊急更新,則無法在應用程序再次運行之前強制安裝它。
  • 它需要一個剛性的方案來指定具有以下屬性的客戶端機器上的硬盤空間:
    • 分配必須避免名稱衝突與其他廠商的目錄的名稱。他們應該包含應用程序的主包名稱。
    • 這些名稱必須對最終用戶有意義。當他需要使用桌面工具查找文件時,他們應該記住,找到並鍵入內容。
    • 該方案必須爲每個用戶和每個應用程序文件提供一個位置。
    • 程序應該可以在任何平臺上工作而無需修改以處理查找其文件。
0

我的經驗:
我用它CA 2006年,爲一家銀行內聯網的應用。

首先下載是很好,但是 想要推出一個新版本, 的jar文件的緩存沒有工作,所以 新文件沒有推送到客戶端時。

花了一個星期的時間試圖解決這個問題,但沒有成功。

+0

不要更新罐子。 – 2014-01-13 20:39:21

3

Java Web Start是啓動更大Java應用程序的正確方式,因爲它允許輕鬆更新和安裝/下載應用程序,並且允許比Java小程序更好的UI/UX。

然而,也有使用常見的瀏覽器默認設置從網頁啓動Java Web Start應用程序的一些障礙:

  1. 太陽/甲骨文無法創建工作的瀏覽器融合。有關Google Chrome/Chromium的示例,請參閱http://crbug.com/10877。基本上,Java插件未能實現所需的NPAPI內容,以使Firefox和Chrome可靠地將MIME類型的二進制文件轉發到application/x-java-jnlp-filejavaws/javaws.exe二進制文件。

  2. Sun/Oracle未能獲得Java Web Start .jnlp文件的真實註冊MIME類型。技術上,application/x-前綴表示草稿或私有。

  3. 當意圖是Java Web Start處理應用程序下載和啓動時,Sun/Oracle未能使用URL方案而不是MIME類型。例如,如果不使用諸如https://example.com/app/launch.jnlp之類的URL,則啓動Java Web Start作爲javaws://example.com/app/launch.jnlp,事情會更順暢。這是因爲在這種情況下,Web瀏覽器甚至不需要加載文件,它只是將完整的URL傳遞給方案處理程序(將是javaws二進制文件)。

通知的重複部分(「太陽/ Oracle的失敗...」),你不再需要知道爲什麼Java Web Start的從來沒有多大吸引力。最大的缺失部分是獲得一個網頁鏈接到可靠啓動javaws二進制文件與給定的.jnlp文件。 應該是在技術上很簡單(只需在安裝javaws二進制文件時註冊一個新的URL方案),但Sun/Oracle未能做到這一點。我個人認爲整個混亂是由於試圖混淆MIME類型而不是簡單地使用新的URL方案造成的。甚至MIME類型的東西都非常糟糕,因爲大聲喊叫。

如果您仍想使用Java Web Start,只需準備好文檔以正確配置瀏覽器即可解決Sun/Oracle留下的問題。最好的部分是它只需要做一次,它將適用於任何使用Java Web Start的站點。不好的部分是,通常瀏覽器從來沒有被配置爲使用.jnlp文件和做正確的事情,因爲用戶不想配置他們的瀏覽器只是爲了使用你的應用程序而使用「難以使用的技術」。我有沒有提及Sun/Oracle未能自動配置瀏覽器?