Quote-Applet - ein kurzer Nachruf

An dieser Stelle habe ich (bis Ende 2017) ein kleines Applet demonstriert, das aus einer Sammlung von "Sprüchen" einen zufällig ausgewählt und als "Spruch des Tages" angezeigt hat. Mit Version 9 der Java-Programmiersprache werden Applets nun auch offiziell nicht mehr unterstützt und deshalb gibt es hier nun einen kurzen "Nachruf" und eine Würdigung dieser Technogie und der dahinter stehenden Konzepte.

Als 1995 die Programmiersprache Java in der Firma SUN Microsystems entwickelt wurde und "das Licht der Welt" erblickte, waren Applets ein wichtiger Bestandteil der Sprache - und das "Highlight" das ihr im beginnenden Internet-Zeitalter große Aufmerksamkeit sicherte. Mit Applets konnten zum ersten Mal dynamische Inhalte in Webseiten realisiert werden und dies machte auch die dahinter stehende Programmiersprache Java bekannt und populär. Das war "damals" und inzwischen gibt es vielfältige Möglichkeiten, Webseiten dynamischn zu gestalten. Einige davon sind inzwischen auch zum Bestandteil des zugrunde liegenden HTML-Standards geworden.

Mit der Freigabe von Java 9 im September 2017 wurde die Applet-Technologie von Oracle, dass die Nachfolge von SUN bei der Weiterentwicklung von Java übernommen hat, als deprecated (veraltet) gekennzeichnet.

"Alte" Technik - hoch aktuelle Konzepte

Die hinter den "veralteten" Java-Applets stehenden Konzepte sind aber nach wie vor hoch aktuell und werden, an anderen Stellen, aufgegriffen, angewendet und weiterentwickelt.

Das sind insbesondere:

  • das Laden von Programmcode über das Netzwerk/Internet
  • die Konzeption, Programme aus Teilen zusammen zu setzten, die in eine vorgegebene Rahmenstruktur (framework) eingebettet werden

Der erste Punkt, die Vernetzung von Geräten, ist von Anfang an Bestandteil der Java-Konzeption. Mit dem Erscheinen von Java 9 wurde auch die Entwicklung zur Modularisierung der Java-Bibliotheken abgeschlossen, an der schon seit einem längeren Zeitraum gearbeitet wurde. Damit ist auch die Grundlage dafür gelegt, Java nicht mehr nur als großen monolithischen Block auf den Rechner installieren zu müssen, der alle Bestandteile der Java SE (Standard Edition) enthält.

Auch wenn es noch ein wenig "Zukunftsmusik" ist, ergibt sich dadurch die Möglichkeit, zunächst nur einen Basisteil von Java zu installieren, über den dann weitere Module über das Netzwerk/Internet bei Bedarf nachgeladen werden können. Java Programme, die dies konsequent nutzen, definieren die von ihnen benötigten Module und so müssen damit auf dem Rechner nur diese zusätzlich nachgeladen werden, wenn sie nicht ohnehin bereits vorhanden sind.

Das zweite genannte Konzept, Programme aus einzelnen Teilen zusammen zu setzen, die in eine (vorher definierte) feste Rahmenstruktur eingebettet werden, wurde, außer bei Applets auf der "Client"-Seite, auch schon bei Servlets auf der "Server"-Seite, aufgegriffen. Die Servlet-Technologie ist ein fester Bestandteil von Java EE (Enterprise Edition).

Auch hier wurden, seinerzeit noch durch SUN, zunächst die Rahmenstruktur und die genauen Schnittstellen zum Einbinden der Servlets definiert ( Servlet-API) - und damit auch die Möglichkeiten, auf die der Programmierer bei der Entwicklung von einzelnen Servlets zurückgreifen kann.

Beim praktischen Einsatz (deployment) der so entwickelten Programmlösungen werden die Erzeugung und der Aufruf einzelner Funktionen der Programmteile (Applets, Servlets) durch die Rahmenstruktur (framework) gesteuert. Man spricht deshalb auch von dem Konzept eines Lebenszyklus für diese Programmkomponenten.

Dass diese Konezption überzeugend und hoch aktuell ist, zeigt sich auch durch ihre Übernahme an einer ganz anderen Stelle: in Android - dem Betriebssystem für Smartphones und Tablets. Die App-Programmierung für diese Plattform ist nicht nur grundsätzlich Java-basiert, sondern die wesentlichen Bestandteile (Komponenten) einer App wie Activities und Services greifen das Konzept zur Lebenszyklus-Steuerung durch ein umgebendes Framework auf - wobei hier das Android-System selbst diese Rahmenstruktur darstellt. Beispielhaft ist das am Lebenszyklus einer Activity zu sehen.