Laufzeitumgebung: Was ist eine Runtime Environment?
Wir nutzen täglich eine Vielzahl an Programmen, um verschiedene Funktionen wie Grafikbearbeitung, Textverarbeitung oder Kalkulationen auszuführen. Mittlerweile ist es Standard, dass diese Anwendungen unter allen Bedingungen möglichst schnell und reibungslos laufen. Für Entwickler stellt dies jedoch eine Herausforderung dar, denn die meistgenutzten Betriebssysteme – Windows, macOS und Linux – unterscheiden sich deutlich. Hinzu kommt, dass verschiedene Versionen desselben Betriebssystems verwendet werden. Theoretisch wäre es notwendig, jedes Programm an jede Betriebssystem-Version anzupassen. Um das zu umgehen, nutzen Entwickler Laufzeitumgebungen (engl. Runtime Environments).
- Inklusive Wildcard-SSL-Zertifikat
- Inklusive Domain Lock
- Inklusive 2 GB E-Mail-Postfach
Was ist eine Laufzeitumgebung?
Die Laufzeitumgebung wird im Englischen als Runtime Environment, kurz RTE, bezeichnet. Auch wenn Sie von einer Ausführumgebung oder seltener Ablaufumgebung lesen, ist damit die Laufzeitumgebung gemeint. Doch was ist das eigentlich?
Laufzeitumgebungen fungieren – vereinfacht ausgedrückt – als kleine Betriebssysteme und stellen alle Funktionalitäten zur Verfügung, die ein Programm zur Ausführung benötigt. Dazu zählen sowohl Schnittstellen zu physischen Elementen der Hardware als auch User-Interaktionen und Software-Komponenten.
Eine Laufzeitumgebung lädt Anwendungsprogramme und lässt diese auf einer Plattform ablaufen. Auf dieser Plattform stehen alle notwendigen Ressourcen zur Verfügung, um das Programm unabhängig vom Betriebssystem auszuführen. So ist beispielsweise das Abspielen von Flash-Filmen nur mit der passenden Laufzeitumgebung – dem Adobe Flash Player – möglich. Ist diese Umgebung vorhanden, lassen sich Flash-Filme unabhängig von Browser oder Betriebssystem immer in gleicher Qualität und mit derselben Funktionsweise abspielen.
Wie funktioniert eine Laufzeitumgebung?
Über das sogenannte Laufzeitsystem interagiert eine laufende Anwendung mit der Laufzeitumgebung. Die Laufzeitumgebung wiederum vermittelt zwischen dem Anwendungsprogramm und dem Betriebssystem. Sobald ein Programm ausgeführt wird, sendet es Anweisungen an den Prozessor des Computers sowie den Arbeitsspeicher und greift auf Systemressourcen zu. Zur Laufzeitumgebung zählen also die Hardware, Speicherplatz und Umgebungsvariablen sowie die Interaktionen des Users und Software-Komponenten.
Der Begriff „Laufzeit“ hat zwei Bedeutungen: In Zusammenhang mit der Laufzeitumgebung ist damit die Ausführung eines Programms in einem spezifischen Laufzeitkontext gemeint. Dies ist nicht zu verwechseln mit der Laufzeit im Sinne der Zeitdauer, die ein Programm zur Ausführung einer Aufgabe benötigt.
Eine Laufzeitumgebung stellt verschiedene Grundfunktionen für Speicher, Netzwerke oder Hardware zur Verfügung. Diese Funktionen führt die Laufzeitumgebung anstelle des Anwendungsprogramms und unabhängig vom Betriebssystem aus, dazu zählen u. a. das Lesen und Schreiben von Dateien, das Steuern von Ein- und Ausgabegeräten, das Suchen, Sortieren oder Verwalten von Dateien oder der Datentransport über Netzwerke.
Die einzelnen Module einer Runtime Environment sind in den sogenannten Laufzeit-Bibliotheken gespeichert. Unter Windows erkennen Sie diese Bibliotheken an der Extension .dll (dynamic link library), unter Unix an der Dateiendung .so (shared object).
Als User profitieren Sie von Laufzeitumgebungen, weil Programme auf alle notwendigen Funktionalitäten zugreifen und dadurch unabhängig vom Betriebssystem funktionieren können. Zudem haben Programme eine identische Benutzerfläche, unabhängig davon, ob diese unter Windows, macOS oder Linux laufen. Entwickler nutzen Runtime Environments, um Anwendungen während der Ausführung zu testen. Im Fall eines Fehlers meldet die Laufzeitumgebung den Grund für den Absturz oder die Fehlfunktion. Auch Frameworks zählen zu den Laufzeitumgebungen. Diese Programmgerüste vereinfachen die Software-Entwicklung und stellen Laufzeitumgebungen bereit, mit denen die erstellten Anwendungen ausgeführt werden.
Ist eine Anwendung auf eine Laufzeitumgebung gestützt, ist diese Laufzeitumgebung für die Ausführung Voraussetzung.
Was sind die Vorteile einer Runtime Environment?
Wie erwähnt ermöglichen Laufzeitumgebungen eine plattformübergreifende Funktionalität von Anwendungen. Das vereinfacht die Entwicklung, denn das Programm muss nicht für jedes Betriebssystem und jede Version neu angepasst werden. Nutzt ein Programm bei der Ausführung die Funktionalitäten einer Laufzeitumgebung, profitieren User auf allen Systemen von den gleichen Funktionen und einer nahezu identischen Benutzeroberfläche.
Ein weiterer Vorteil ist das Einsparen von Ressourcen: Ähnliche Anwendungen können die gleiche Laufzeitumgebung nutzen und sich gemeinsame Komponenten teilen.
Bekannte Beispiele für Laufzeitumgebungen
Eines der besten Beispiele für Laufzeitumgebungen ist Java: Die Ausführung von Java-Programmen setzt die entsprechende Laufzeitumgebung voraus – die Java Runtime Environment. Java-Programme sind daher weitestgehend vom zugrundeliegenden Betriebssystem unabhängig und mit der entsprechenden Laufzeitumgebung auf jedem Betriebssystem ausführbar. Da die Java-Laufzeitumgebung eine Software-Plattform ist, wird diese auch als „Java-Plattform“ bezeichnet. Sie besteht aus einer Programmierschnittstelle, einer virtuelle Maschine sowie aus verschiedenen Programmbibliotheken. Die Programmiersprache Java wird in der API (Application and Programming Interface) bereitgestellt.
Einige weitere bekannte Beispiele für Laufzeitumgebungen sind:
- ActionScript Application (ASAP): Bietet Bausteine für Flash-Entwickler.
- Blueprint: Das CSS-Framework berücksichtigt Defizite in der Kompatibilität von Browsern und erleichtert die Optimierung von CSS. Blueprint ist auch als CMS Basis Theme für Drupal und WordPress verfügbar.
- Common Language Runtime: Eine virtuelle Laufzeitumgebung für .NET-Anwendungen, interpretiert Common Intermediate Language Code.
- Crystal Space: Umfasst einen 3D-Engine und wird zur Spiele-Entwicklung und der Entwicklung anderer 3D-Darstellungen eingesetzt; kostenlos.
- Cygwin: Eine Laufzeitumgebung für Linux-Anwendungen, die dadurch auch auf Windows, macOS und anderen Betriebssystemen laufen.
- .NET Framework: Windows-.NET-Anwendungen sind nur mit diesem Microsoft-Framework ausführbar.
- Node.js: Die JavaScript-Laufzeitumgebung ermöglicht die serverseitige Verwendung der Skriptsprache. Der Schöpfer selbst kritisiert jedoch einiges an Node.js und entwickelt mit Deno eine neue, modernere und sicherere Laufzeitumgebung für serverseitiges JavaScript.
- Visual Basic Runtime: Wird für viele Shareware- und Freeware-Programme benötigt.
- WINE: Mit dieser Laufzeitumgebung laufen Windows-Anwendungen auch auf anderen Betriebssystemen wie Linux, FreeBSD oder macOS. Die Kompatibilität ist jedoch nicht vollständig gewährleistet.
- XULRunner: Eine Laufzeitumgebung für XUL-Anwendungen wie Firefox, Thunderbird oder Songbird; grundsätzlich laufen diese Anwendungen auch ohne XULRunner. In Zukunft wird die gemeinsame Laufzeitumgebung jedoch verstärkt eingesetzt, um Ressourcen zu sparen.
- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups