Das Web ist seit Jahrzehnten ein beherrschendes Medium für Informationsaustausch, Kommunikation und Anwendungen. Es wird oft in zwei Kategorien unterteilt: native Apps und Web-Anwendungen. Native Programme werden speziell für eine Plattform entwickelt und direkt in Maschinencode kompiliert, was ihnen eine hohe Effizienz und volle Kontrolle über die Hardware ermöglicht. Web-Anwendungen hingegen basieren auf plattformübergreifendem, interpretiertem Code, der in der Regel durch Browser-Engines ausgeführt wird. Lange galt diese Trennung als unveränderliche Realität, doch moderne Ansätze und technologische Fortschritte hinterfragen diese traditionelle Vorstellung fundamental.
Eine wichtige Erkenntnis ist, dass der eigentliche Unterschied darin besteht, ob der Code ein eigenes Fenster zur Anzeige von Inhalten erstellen kann oder nicht. Während native Apps befähigt sind, ein solches Top-Level-Fenster zu öffnen, sind Webseiten meist auf einen abgegrenzten Bereich innerhalb des Browsers limitiert, ein sogenanntes visuelles Sandbox-Environment. Dieses Konzept sorgt für Sicherheit, bringt aber auch technische Limitationen mit sich. Die Bedeutung sicherer Umgebungen für die Ausführung fremden Codes wird weiterhin bestehen bleiben. In vielen Anwendungsfällen, wie etwa bei wissenschaftlichen Visualisierungen, sind kuratierte App-Stores nicht immer sinnvoll oder praktikabel.
Traditionelle Webplattformen ermöglichen es heute, einmal erstellte Anwendungen auf unterschiedlichen Geräten auszuführen – das berühmte Prinzip „write once, run everywhere“ –, doch dieser Ansatz ist mit Einschränkungen verbunden. Gerade im Zeitalter leistungsfähiger künstlicher Intelligenz und automatisierter Code-Generierung eröffnen sich neue Wege. Maschinennaher, also in nativen Maschinencode übersetzter Code, könnte die Grundlage für Web-ähnliche Plattformen sein, die gleichzeitig plattformübergreifend sind und die Leistungsfähigkeit der jeweiligen Geräte besser ausnutzen. Eine spannende Entwicklung sind sogenannte „Outerframes“ – sichere Ausführungsorte innerhalb bestehender Anwendungen, die es erlauben, untrusted machine code isoliert laufen zu lassen, ohne dass er die Kontrolle über das ganze System oder die vollständige Benutzeroberfläche übernehmen kann. Diese Outerframes bieten eine visuelle Sandbox, ähnlich wie Browser dies für Webseiten tun, ermöglichen dabei aber den Einsatz von beliebigem Maschinencode, der sowohl auf der CPU als auch auf der GPU ausgeführt werden kann.
So werden moderne Grafik- und Rechenfähigkeiten vollständig unterstützt, inklusive Multithreading. Der Vorteil ist offensichtlich: Die altbekannten Beschränkungen und der Overhead des Webs entfallen, was besonders für energieeffiziente und leistungsstarke Darstellungen von Vorteil ist. Ein funktionierendes Beispiel für einen Outerframe wurde bereits für macOS entwickelt, inklusive eines Browsers, der statt HTML und JavaScript ein plattformübergreifendes Binärformat als „Seite“ nutzt und maschinennahen Code als „Skript“ ausführt. Dieser experimentelle Browser ist Open Source und bietet Entwicklern die Möglichkeit, die Effizienzvorteile und Potenziale eines solchen Konzepts selbst zu erleben. Um die tatsächlichen Vorteile zu quantifizieren, wurden Benchmarktests durchgeführt, die anspruchsvolle Visualisierungen von Machine Learning Modellen bei 120 Frames pro Sekunde zeigen – einer Bildwiederholrate, wie sie bei modernen Geräten üblich ist.
Dabei zeigte sich, dass eine Umsetzung mit maschinennahen Outerframes deutlich energieeffizienter ist als die gleiche Darstellung im Browser unter Verwendung von JavaScript mit WebGL oder WebGPU. Im besten Fall verbrauchten Browser-Varianten rund 24-mal so viel Energie wie die Umsetzung mit maschinennahem Code in Outerframes. Diese Effizienzsteigerung ergibt sich unter anderem daraus, dass Browser-Technologien wie WebGL nicht für viele kleine Zeichenflächen (Canvas-Elemente) ausgelegt sind. Tatsächlich ist die Anzahl der parallelen WebGL-Canvas in Browsern begrenzt, was die Flexibilität bei komplexen, dynamischen Visualisierungen einschränkt. Das native System von macOS hingegen erlaubt es problemlos, beliebig viele CALayers (vergleichbar mit Canvas) zu nutzen, die performant und energieeffizient gerendert werden können.
Eine Anpassung der Visualisierung auf eine einzelne Canvas führte dazu, dass die Effizienzvorteile bei Outerframes gegenüber Webbrowsern immer noch ungefähr ein Faktor von 6 betrugen. Interessant ist, dass die native Textdarstellung des Betriebssystems bei dynamischen, schnellen Aktualisierungen erhebliche Performance-Probleme zeigte. Dies deutet darauf hin, dass man dynamisch aktualisierte Texte und Visualisierungen besser selbst rendern sollte, beispielsweise im Canvas, anstatt sich auf die nativen UI-Komponenten zu verlassen. Die Möglichkeit, maschinennahen Code sicher auszuführen, würde auch den Grundsatz des „write once, run everywhere“ in gewisser Weise erweitern und flexibilisieren. Entwickler könnten jede gewünschte Programmiersprache verwenden und den Code für verschiedene Plattformen kompilieren.
So könnten Anwendungen speziell für die Leistungsfähigkeit des jeweiligen Geräts optimiert werden. Das wäre besonders für die kommenden Generationen von Geräten relevant, wie etwa AR-Brillen oder IoT-Devices mit begrenztem Energiehaushalt. Es gibt existierende Anknüpfungspunkte an frühere Technologien, wie die NPAPI-Plugins aus den 1990er Jahren, mit denen maschinennahe Codes innerhalb von Browsern ausgeführt werden konnten. Damals wurde dieses Modell jedoch aufgrund von Sicherheits- und Kompatibilitätsproblemen aufgegeben. Die heutige Situation ist eine andere, da moderne Ansätze insbesondere durch die Verfügbarkeit leistungsfähiger KI-gestützter Code-Generierung weniger Reibung bei der Code-Erstellung und -Verteilung aufweisen und zudem mit fortschrittlichen Sicherheitsmechanismen ausgestattet sind.
Durch die Kombination aus visueller Sandbox und maschinennaher Ausführung entsteht eine innovative Plattform, die einen niedrigen Overhead besitzt, aber dennoch maximale Leistung und Sicherheit bietet. Dieser vielversprechende Ansatz könnte nicht nur die Art und Weise verändern, wie Web- und plattformübergreifende Anwendungen entwickelt und ausgeführt werden, sondern auch die Energieeffizienz und damit die Umweltverträglichkeit moderner Softwareaufwendungen deutlich steigern. Eine der zentralen Herausforderungen bei der Umsetzung ist die Schaffung eines geeigneten und portablen Dokumentenformats, das ähnlich universell nutzbar ist wie HTML heutzutage, aber die Möglichkeiten für maschinennahen Code erlaubt. Konzepte wie „Outerdocs“ sind dafür im Gespräch. Diese könnten es ermöglichen, Dokumente mit mehreren plattformspezifischen Implementierungen zu versehen, die je nach Gerät und Plattform automatisch ausgewählt werden.
Gleichzeitig könnte ein HTML/JavaScript-Fallback existieren, um die Abwärtskompatibilität zu gewährleisten. Zudem könnten „Content Types“ definiert werden, unter denen Apps eigene „Trusted Implementations“ einbringen können, um native UI-Elemente und Funktionen nahtlos einzubinden. Das würde etwa in Betriebssystemen Sinn machen, die untrusted Maschinen-Code nicht direkt ausführen wollen, diese jedoch dennoch eine eingeschränkte native Rendering-Möglichkeit bieten. In einer Zeit, in der Hardwarehersteller an die Grenzen der Physik stoßen und Software immer komplexere Aufgaben übernehmen muss, ist die effiziente Nutzung der zugrundeliegenden Ressourcen ein zentraler Wettbewerbsfaktor. Eine maschinennah orientierte Web-Plattform kann hier eine Schlüsselrolle spielen und Softwareentwicklung auf ein neues Niveau heben.
Der Weg in eine solche Zukunft ist offen und wird stark von der Bereitschaft der Entwickler-Community, Betriebssystem-Anbieter und Verbreiter von Endgeräten abhängen. Die aktuellen App-Stores zeigen sich meist konservativ und erlauben die Ausführung von untrusted Maschinencode nur sehr eingeschränkt. Doch gerade hier entstehen die Chancen für alternative Plattformen und Anwendungen, die diese Beschränkungen nicht haben, um den Nutzern ein überlegenes Erlebnis zu bieten. Zusammenfassend steht die Webentwicklung vor einer potenziellen Revolution: Durch die Integration von maschinennahen Codes in sicherer und kontrollierter Umgebung könnten Web-Anwendungen in Zukunft performanter, effizienter und flexibler werden. Die bislang mühsamen Kompromisse, die durch interpretierten Code und Sandboxen entstehen, könnten überwunden werden.
Dies eröffnet neue Möglichkeiten insbesondere für besonders rechenintensive und energieeffiziente Anwendungen, die mit der aktuellen Web-Technologie schwer umzusetzen sind. Gleichzeitig bedarf es weiterer Forschung, Entwicklung und Kollaboration zwischen Softwareentwicklern, Hardwareherstellern und Standardschaffenden, um diese Vision Realität werden zu lassen. Maschinennahe Web-Technologien könnten nicht nur die Nutzererfahrung verbessern, sondern auch einen wichtigen Beitrag zur Nachhaltigkeit in der IT-Branche leisten. Es bleibt spannend zu verfolgen, wie sich diese Ideen in den kommenden Jahren entwickeln und welche Innovationen daraus hervorgehen werden.