dagblog.
← Archiv

Auto-Install — další krok k použitelnější Jave na desktopu


Zásadní problém s Javou na desktopu je ten, že na klientském počítači musí být již nainstalované JRE. Sekundární problém představuje vlastní distribuce aplikace a její správa, jako např. kontrola požadované verze JRE či aktualizace aplikace v případě novější verze. Sekundární problém se podařilo eliminovat v Jave 5.0 přidaním technologie Java Web Start. Zdá se také, že inženýři ze Sunu našli možný a ne nezajímavý workaround pro řešení toho prvního problému.

Řešení je založeno na prohlížeči, troše JavaScriptu a ActiveX (nutný pouze pro IE) a samozřejmě Java Web Startu. V kostce: uživatel vleze na internetovou stránku, která uděla vše potřebné.

  1. Detekuje jestli existuje v systému JRE
  2. Pokud ano, zjistí jeho verzi
  3. Pokud ne a nebo pokud se nejdná o požadovano uverzi, spustí její instalaci
  4. Po instalaci JRE spustí vlastní aplikaci přes Java Web Start

Detailněji to ilustruje následující obrázek s popisem.

↗ Medium

(linkováno z http://java.sun.com/developer/technicalArticles/JavaLP/javawebstart/AutoInstall.html)

  1. Stránka se načte a detekuje typ prohlížeče
  2. Prohlížeč je Internet Explorer na Windows
  3. Spustí se Auto-Install ActiveX komponenta (může výžadovat potvrzení od uživatele)
  4. Detekuje JRE a jeho verzi
  5. Pokud je potřeba nainstaluje se JRE požadované verze
  6. Spustí vlastní aplikaci přes JNLP
  7. Jiný typ prohlížeče
  8. JavaScript detekuje JRE a jeho verzi
  9. Pokud je potřeba, otevře nové okno s online instalací JRE
  10. Čeká ve smyčce dokud se JRE nenainstaluje
  11. Spustí vlastní aplikaci přes JNLP

Kompletní popis včetně zdrojových kódů najdete na Sun Developer Network v článku Auto-Install: Easier Launching of Java Web Start Applications.

Pár slov závěrem. Schválně jsem tento postup označil za workaround a ne za řešení, protože má několik slabin. První slabina je nutnost zapnuté podpory ActiveX v IE a povolení jejího aktivního využívání a to ne všichni uživatelé museji mít. Další nevýhoda (vypnutý JavaScript se nepočítá) je uživatelova interakce nutná pro instalaci JRE v případě jiného typu prohlížeče. Na druhou stranu, slovy klasika lepší než drátem do oka.

Docela by mě zajímalo jak se Vám tento postup zamlouvá?

Verze na Medium

Související články

Související epizody CZ Podcastu