2009-10-06 110 views
3

有許多RIA框架彈出(flex,extjs,gwt等等)。爲什麼不使用java web start而不是其他RIA框架?

如果我的服務器是用Java編寫的,爲什麼不用java web start?我看到的好處是:我用一種易於調試的語言編寫程序(與javascript相比),我可以在服務器和客戶端(驗證,模型對象)中使用相同的代碼。通過SWT,我可以看到漂亮的GUI。

即使這意味着需要在瀏覽器中使用插件(或使用cli工具),如果我的應用程序是企業應用程序,它有什麼關係嗎?

+0

由於您不再擁有RIA,而只是一個桌面客戶端。 ;-) – 2009-10-06 13:29:12

+0

企業應用程序您是在談論一個內部應用程序,您可以在其中指定您的用戶羣或額外公司(承包商,供應商,供應商等)應用程序的運行環境,而最終用戶可能不會使用相同的環境? – Drew 2009-10-06 13:31:20

+0

@mlk:當然是桌面客戶端。那有什麼害處? @Drew:我指的是前一種情況,我可以假設用戶在開始使用我的應用程序之前將安裝Java。 – IttayD 2009-10-06 14:24:23

回答

3

對於webstart,您需要在客戶端安裝Java。對於Flex Flash。對於Silverlight .Net。對於其他RIA平臺支持JavaScript的瀏覽器。在這個問題上有很多產品是政治性的。

Java是非常意圖,因爲「似乎都是釘子」。當然,Java的優點之一是:在每個平臺或環境(服務器/客戶端/中間件)上具有相同的語言,相同的知識,相同的代碼。

對於企業內部使用,不,它根本沒有關係。如果你的企業在互聯網上,決定要複雜得多(甚至你必須在不同的平臺上提供相同的功能)。

3

唯一的反意見是,在很多情況下,不可能強制富客戶端應用程序的客戶端在他們的機器上安裝Java運行時。其他一切都是品味的問題,已經存在的知識和經驗。

1

是的我認爲這很重要,因爲一些大公司仍然將IE6作爲其標準瀏覽器和基於Web的應用程序的要求。這些將不允許你在他們的恐龍瀏覽器中安裝任何第三方插件。

而且,對於使用JavaScript,CSS和HTML等現有瀏覽器技術的RIA技術(包括僅生成客戶端JavaScript和僅包含JavaScript組件庫的ExtJS的GWT)以及需要一個額外的運行時環境(Flash,Flex或客戶端)。

當然有些東西比專有或第三方解決方案更容易完成(或者您只是在其中一個平臺上擁有更多知識),但我仍然認爲在標準化和已實施的技術中存在巨大潛力在每個現代瀏覽器中(瀏覽器之間的差異正在緩慢但穩步地變得更好)。

如果您將它作爲第三方應用程序發佈,您可以將JRE定義爲系統需求,但不是JavaWeb Start,而是將其作爲普通的Java應用程序發佈。

+0

我猜與Java應用程序的區別在於安裝更容易。 – IttayD 2009-10-06 14:26:02

+0

基於RIA的普通瀏覽器更容易安裝(根本不用說)。 Java Webstart和普通的Java應用程序都需要安裝JRE。 – Daff 2009-10-06 14:29:46

2

我認爲,直到現在,完美的客戶端技術根本不存在。我們對ajax感到興奮,然後又有另一種像Adobe Air這樣的「熱門」技術。這些技術與「老式」客戶端服務器應用程序有什麼區別?我的朋友們,我們回到了90年代初! AIR例如需要在客戶端計算機上安裝運行時,它有權訪問本地系統資源並使用二進制協議與服務器進行通信。另一方面,我們正在開發「RIA」應用程序(以及非常好的應用程序:),使用純Java Swift客戶端通過Spring的二進制遠程協議與服務器進行通信。我必須說,在這樣的開發生命週期中,Java-Webstart是贏家。特別是在java領域的大型項目中(我的意思是laaaarge規模,而不僅僅是電子商店),我還沒有找到更高效和可維護的東西(啊!維護...另一個大故事)比這個。 國際海事組織如果你的用戶可以生活在一個很好的外觀和感覺,你不必採用另一種技術,因爲它是年輕和性感使用webstart。把更多的工作放在你的商業模式中。畢竟所有的企業應用都是關於商業的,而不是動畫。而錢是業務所在;)

相關問題