Der Materna Blog – wissen was los ist

Der Browser ist mehr als ein wenig HTML und CSS

Das Internet ist einfach und verfügbar. Das ist eines der Erfolgsgeheimnisse. Das war nicht immer so. Zwar konnte man am Anfang auch einzelne Dateien remote aufrufen. Doch mussten sich Nutzer die Links zu mehreren Seiten oft in eigenen Sammlungen zusammenstellen oder im Netz gepflegte Sammlungen verwenden. Erst später nahm uns Google die Suche nach Inhalten ab und macht uns Vorschläge, die zu unseren Wünschen passen.

Die eigentliche Internet-Revolution für den größten Teil der Benutzer begann nicht mit dem HTML-Protokoll oder der eigenen HTML-Beschreibungssprache der Seiten, sondern mit der Verfügbarkeit kostenloser Surfgeräte. Die ersten Browser hießen Mosaic und später Navigator, um damit in den Weiten des World Wide Webs (WWW) zu surfen.

Das waren zunächst statische Seiten. Doch mit der weiten Verbreitung stieg auch der Bedarf, andere Dateiformate direkt anzuzeigen oder sogar Anwendungen auszuführen. Das war nur über Plug-Ins möglich, wodurch wieder neue (Sicherheits-)Probleme entstanden. Deswegen konnte sich auch JavaScript, als erste Programmiersprache für das Web, nicht durchsetzen und wurde oft standardmäßig deaktiviert. Es ist vor allem ein Verdienst von Google, dass dies mit voll funktionsfähigen Web-Anwendungen, wie GMail oder GMaps, auch ohne Zusatzprogramme möglich ist.

Da Google die Browser-Kriege und die sich daraus ergebenden Inkompatibilitäten leid war, stellte es seinen eigenen Browser Chrome und die in der Chromium-Komponente verwendete V8-Engine kostenlos und Open-Source zur Verfügung. Inzwischen sind die Browser-Kriege entschieden und Chrome ist als klarer Gewinner hervorgegangen. Selbst Microsoft ist mit seinem Edge-Browser inzwischen zu Chromium als Basis gewechselt.

Das eigentliche Herzstück des Chromes ist seine Ausführungsumgebung. Diese wird als V8 inzwischen in fast allen Browsern, bis auf Safari und Firefox, verwendet und hat auch dazu geführt, dass JavaScript nicht nur im Browser, sondern auch auf dem Server mit node.js funktioniert. Node.js zusammen mit dem Paket Manger NPM (der inzwischen zu GitHub und dieses zu Microsoft gehört) haben die Entwicklung größerer JavaScript-Anwendungen erst in der ausreichenden Qualität und Größe ermöglicht.

Ein weiterer Schub ergab sich durch die ins Stocken geratene Weiterentwicklung der Web-Standards HTML, http und JavaScript. Um die Ausführung von JavaScript zu beschleunigen, gibt es seit längeren in V8 einen ständig verbesserten Just-in-Time-Compiler, der gerade für Server-Anwendungen für eine höhere Geschwindigkeit, Effizienz und Stabilität sorgt.

Neben JavaScript kann V8 auch WebAssemblies ausführen. Bei WebAssembly (wasm) handelt es sich um ein standardisiertes Installationsformat mit vorkompilierten und plattformunabhängigen Bytecode. Dadurch ist WebAssembly gerade für Anwendungen mit einer hohen Responsivität, Sicherheit und Rechenhunger, wie Spiele oder grafische Anzeigen (WebGL), eine wichtige Lösung. Die Verbreitung von WebAssembly hält sich noch etwas in Grenzen, obwohl mit C, C++, C#, F#, Go und Rust eine Vielzahl von Sprachen zu dessen Programmierung existieren.

Nach HTML, CSS und JavaScript wurde WebAssembly Ende 2019 offiziell zur vierten Sprache für das Web gemacht. Schon seit 2017 wird WebAssembly von Chrome, Firefox, Edge und Webkit unterstützt, sodass es fast überall genutzt werden kann. Damit Berechnungen auch im Hintergrund, ohne Benutzerinteraktion ausgeführt werden, arbeitet das W3C gerade an der Finalisierung des Service Worker-Standards.

Dieser ist jedoch schon länger in den meisten Browsern implementiert, sodass es dadurch möglich ist, Progressive Web Apps (PWA) zu erstellen. Dieses ist eine neue Möglichkeit, jenseits der nativen und hybriden Apps plattformübergreifend Web-Anwendungen zur Verfügung zu stellen, die zwar den installierten Browser verwenden, jedoch diesen fast vollständig verstecken. Dafür können diese einfacher entwickelt und aktualisiert werden und bieten gegenüber reinen responsiven Webseiten auch die Möglichkeit, offline verwendet zu werden und Dinge vor dem Zurückschicken zum Server lokal zu cachen.

Damit ist der Browser zum universellen Betriebssystem geworden. Wie man sieht, tut sich in und mit der Web-Standardisierung noch einiges. Damit sollten die Einsatzmöglichkeiten des Webs jenseits des reinen Browsers noch eher zu- als abnehmen.

Schlagwörter: , ,

Autoreninfo

Frank Pientka ist Principal Software Architekt bei Materna in Dortmund und Gründungsmitglied der iSAQB, die sich um die Zertifizierung von Software-Architekten kümmert. Er beschäftigt sich seit mehreren Jahrzehnten mit skalierbaren und flexiblen Diensten in der Cloud. Dabei setzt er sich intensiv mit innovativen Software-Themen auseinander. Darüber schreibt und referiert er über verschiedenen Kanäle.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte füllen Sie dieses Feld aus
Bitte gib eine gültige E-Mail-Adresse ein.
Bitte füllen Sie dieses Feld aus
Bitte füllen Sie dieses Feld aus

Materna-CEO Martin Wibbe
10 Fragen an … Martin Wibbe, neuer CEO und Vorstandsvorsitzender der Materna SE
Künstliche Intelligenz Symbolbild
Künstliche Intelligenz am Arbeitsplatz benötigt klare rechtliche Vorgaben
Menü