/Webentwicklung: Mono-Team plant Umsetzung für WebAssembly

Webentwicklung: Mono-Team plant Umsetzung für WebAssembly


Das Team hinter der Open-Source-Implementierung von Microsofts .NET Framework will WebAssembly als Zielplattform nutzen. Derzeit experimentiert es mit zwei unterschiedlichen Ansätzen: statische Kompilierung und Managed Code.

Das Mono-Projekt soll künftig über Web-Assembly auch für Webanwendungen zum Einsatz kommen. Derzeit befindet sich die Umsetzung in einer frühen Erkundungsphase. Laut einer Meldung auf der Mono-Website sind die ersten Experimente durchaus erfolgversprechend.

Dabei kommen zwei unterschiedliche Prototypen zum Einsatz. Der erste setzt auf ein vollständiges, statisches Kompilieren. Dabei entsteht eine große Anwendung, die sowohl die Mono-C-Laufzeitumgebung und die zugehörigen Klassenbibliotheken als auch das kompilierte Programm enthält. Der zweite Ansatz übersetzt lediglich die Mono Runtime, die dann die Programme der Entwickler als Managed Code ausführt. Der zweite Ansatz verringert die Download-Größen, erreicht aber nicht die Performance des komplett kompilierten Projekts.

Beide Ansätze verwenden derzeit noch das vollständige Desktop-Profil für Mono. Im nächsten Schritt will das Team das Profil auf den Web- beziehungsweise mobilen Einsatz optimieren und dafür überflüssige Funktionen herausnehmen. Darüber hinaus wollen die Macher auch den Komfort für Entwickler optimieren. Dafür sei unabhängig von der letztlich eingesetzten Methode zum Erstellen des fertigen Programms für den Entwicklungsprozess ein Interpreter oder JIT-Compiler im Browser wünschenswert, der gecachte Versionen von libmono verwendet.

WebAssembly (wasm) ist ein Ansatz zur clientseitigen Browserprogrammierung. Das Projekt, das Anfang des Jahres die Browser-Preview-Phase verlassen hat, setzt auf ein Binärformat. Es soll JavaScript nicht ersetzen, sondern ergänzen, und vor allem dort zum Einsatz kommen, wo hohe Performance erforderlich ist. Grundsätzlich ist der Ansatz des Binärformats nicht neu: ActiveX und Java gehören zu den prominentesten Vertretern. Java scheiterte im Browser wie auch Adobe Flash vor allem an zahlreichen Sicherheitslücken, ActiveX schon am Alleingang Microsofts. An WebAssembly arbeitet eine W3C Community Group, der Mitarbeiter der wichtigsten Browser-Hersteller angehören.

Mono ist eine Open-Source-Implementierung von Microsofts .NET Framework, die auf die ECMA-Spezifikation für C# sowie die Common Language Infrastructure setzt. Es bringt das Framework auf unterschiedliche Plattformen, allen voran macOS, Linux und Windows. Im Mai ist die fünfte Hauptversion erschienen. Microsoft ist Sponsor des Projekts.


(rme)