2009-08-18

Adobe AIR und Java Web Start

Im zweiten Teil meiner kleinen Serie über Adobe AIR hatte ich versprochen, noch ein paar Zeilen über AIR unter Linux zu schreiben. Die Installation verlief ebenso glatt wie unter Mac OS X und Windows.
Erfolgreiche Installation unter Ubuntu
Auch das Aussehen der Installationsdialoge entspricht (abgesehen natürlich vom Fensterrahmen) den anderen beiden Plattformen. Das Einrichten und der Start der eigentlichen Anwendungen funktioniert – wie erwartet - ebenfalls wie unter Windows und Mac OS X:
Rückfrage, was mit der herunter geladenen Datei geschehen soll
Rückfrage vor der Installation
Installationsort festlegen
Fassen wir die bisherigen Erkenntnisse zusammen. AIR-Anwendungen werden offenbar in Installationsdateien gepackt und so verteilt. Diese enden auf .air. Da dieser Dateityp (sowie ein äquivalenter MIME-Typ) mit der AIR-Laufzeitumgebung verknüpft ist, führt ein Doppelklick auf eine solche Datei bzw. der Download aus dem Internet zum Start der AIR-Runtime. Diese bietet an, die Anwendung zu installieren oder ggf. wieder vom System zu entfernen. .air-Dateien können also auf normalem Weg kopiert bzw. weitergegeben werden. Ein direkter Download wird aber (wie bereits geschrieben) ebenfalls unterstützt.
Ohne Frage macht das AIR-Laufzeitsystem das Herunterladen, Installieren und ggf. Entfernen von AIR-Anwendungen sehr einfach. Der Anwender wird mit grafisch schön aufbereiteten, leicht verständlichen Dialogen durch die jeweils nötigen Schritte geführt. Einmal auf dem Client angekommen, verhalten sich AIR-Anwendungen bzgl. Start und Deinstallation wie ihre nativen Kollegen. Das Look and Feel weicht von nativen Anwendungen ab, ist über Plattformgrenzen hinweg aber identisch.
Java macht vieles ähnlich, verfolgt im Detail aber doch andere Strategien. Diese möchte ich im Folgenden ins Gedächtnis rufen. Das Java Network Launching Protocol (JNLP) legt, vereinfacht ausgedrückt, fest, wie Java-Anwendungen von einem Web Server heruntergeladen und auf einem Client installiert werden. Die Grundidee ist, ein Programm durch einfaches Anklicken eines Links im Webbrowser starten zu können. JNLP ist eine Spezifikation; eine Implementierung mit Namen Java Web Start ist Bestandteil jeder halbwegs aktuellen Java-Laufzeitumgebung. Ihr Verhalten möchte ich am Beispiel meines kleinen Progrämmchens TKPlayIt anhand von einigen Screenshots zeigen.
Startseite meines Programms TKPlayIt
Die orangefarbene Schaltfläche Launch (eine ganz normale Grafik) ist ein Link auf die Datei TKPlayIt.jnlp. Wird sie angeklickt, lädt der Webbrowser die Datei herunter. Da Dateien des Typs .jnlp (bzw. ein äquivalenter MIME-Typ) in der Regel mit der Java-Laufzeitumgebung verknüpft sind, wird diese gestartet.
Java-Splashscreen
Die Laufzeitumgebung zeigt beim ersten Aufruf der zu startenden Anwendung den oben abgebildeten Splashscreen. Bei erneuten Starts wird stattdessen eine anwendungsspezifische Grafik angezeigt, sofern diese in die .jnlp-Datei eingetragen wurde.
Herunterladen der Anwendung
Anschließend wird die Anwendung heruntergeladen. Dies geschieht aber nur beim ersten Aufruf, oder wenn auf dem Web-Server eine neuere Version als die bereits auf dem Client vorhandene abgelegt wurde.
ein Sicherheitshinweis
Nach dem Laden erfolgt unter Umständen ein Sicherheitshinweis. Gestattet der Anwender die Ausführung, wird die Anwendung gestartet.
.jnlp-Dateien sind keine Installationsarchive. Sie definieren vielmehr die Bestandteile eines Programms. Eine .jnlp-Datei legt also (unter anderem) fest, welche Dateien von einem Web-Server heruntergeladen werden müssen. Um eine Web Start-Anwendung weiterzugeben, reicht es demzufolge nicht aus, die zugehörige .jnlp-Datei zu kopieren. Auch die “Installation” des Programms verläuft anders. Seine Bestandteile landen nämlich nicht in plattformüblichen Programme-Verzeichnissen, sondern in einem Web Start-eigenen Cache. Dennoch sind Web Start-Anwendungen recht gut in das System integriert. Sie lassen sich beispielsweise durch Verknüpfungen auf dem Desktop starten.
Unter Windows können Web Start-Anwendungen wie gewohnt aus der Systemsteuerung heraus entfernt werden. Auf anderen Plattformen muss hierzu der Java Cache Viewer geöffnet werden.
Java Cache Viewer
Damit möchte ich meine Mini-Serie über Adobe AIR aus Anwendersicht beenden. Haben Sie Fragen oder Anregungen? Dann schreiben Sie mir doch einfach…

No comments:

Post a Comment