Miguel de Icaza: .NET-Technik für Webbrowser

Der Initiator des Mono-Projekts schlägt vor, die Common Language Infrastructure in Browser zu integrieren. Dadurch hätten Webentwickler die Wahl zwischen mehr Programmiersprachen und könnten bessere Anwendungen erstellen.

In Pocket speichern vorlesen Druckansicht 339 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Christian Kirsch

Wäre die von Microsoft entwickelte Common Language Infrastructure (CLI) in aktuelle Browser integriert, könnten Entwickler wesentlich besser Web-Anwendungen erstellen – so das Credo eines Blog-Eintrags von Miguel de Icaza. CLI erlaube den Einsatz unterschiedlicher Programmiersprachen, etwa streng- und untypisierter. Entwickler könnten sich zwischen "Leistung und Skriptsteuerung" (performance and scriptability) entscheiden, und im Allgemeinen gäbe es schnellere Anwendungen, da geschwindigkeitsrelevanter Code von streng-typisierten Sprachen ausgeführt werden könnte.

Icaza schlägt folglich vor, die CLI direkt in den Browser zu integrieren. Dies sei im Prinzip möglich, indem man die freie .NET-Implementierung Mono hinzulinke. Denkbar wären dann Konstrukte wie

<script language="csharp">
from email in documents.ElementsByTag ("email")
email.Style.Font = "bold";
</script>

oder

<script language="csharp" source="ImageGallery.cs"></script>

in Web-Anwendungen, sodass der Browser den C#-Code übersetzt. Es ließen sich aber auch Binärdateien in der Common Intermediate Language (CIL) auf diese Art laden. Nach Icazas Worten zeige das Gestalt-Projekt, was mit einer CLI-Implementierung im Browser möglich sei. Allerdings bringe dessen Technik nicht nur Vorteile, denn Gestalt benötigt ein Silverlight-Plug-in, um beispielsweise Ruby-Code im Browser ausführen zu können. Icaza will jedoch eine CLI-Umsetzung direkt im Browser, die ohne Plug-in auskommt. "Bleibt die Frage, welcher Browser zuerst drankommt: Firefox oder Chrome", schreibt er.

Miguel de Icaza hat das Mono-Projekt ins Leben gerufen, das eine freie Implementierung von Microsofts .NET schaffen will. CLI ist in einem ECMA-Standard spezifiziert. (ck)