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é.
- Detekuje jestli existuje v systému JRE
- Pokud ano, zjistí jeho verzi
- Pokud ne a nebo pokud se nejdná o požadovano uverzi, spustí její instalaci
- Po instalaci JRE spustí vlastní aplikaci přes Java Web Start
Detailněji to ilustruje následující obrázek s popisem.
(linkováno z http://java.sun.com/developer/technicalArticles/JavaLP/javawebstart/AutoInstall.html)
- Stránka se načte a detekuje typ prohlížeče
- Prohlížeč je Internet Explorer na Windows
- Spustí se Auto-Install ActiveX komponenta (může výžadovat potvrzení od uživatele)
- Detekuje JRE a jeho verzi
- Pokud je potřeba nainstaluje se JRE požadované verze
- Spustí vlastní aplikaci přes JNLP
- Jiný typ prohlížeče
- JavaScript detekuje JRE a jeho verzi
- Pokud je potřeba, otevře nové okno s online instalací JRE
- Čeká ve smyčce dokud se JRE nenainstaluje
- 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á?
Související články
Související epizody CZ Podcastu
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi a Filemon o novinkách v Javě 6 a webových frameworcích.
- #1 · Vývojová prostředí v Javě
První díl CZ Podcastu se věnuje vývojovým prostředím pro Javu.