Mono

Quelloffener .NET-Nachbau in Version 2.0

Thomas Cloer war viele Jahre lang verantwortlich für die Nachrichten auf computerwoche.de.
Er sorgt außerdem ziemlich rund um die Uhr bei Twitter dafür, dass niemand Weltbewegendes verpasst, treibt sich auch sonst im Social Web herum (auch wieder bei Facebook) und bloggt auf teezeh.de. Apple-affin, bei Smartphones polymorph-pervers.
Das primär von Novell geförderte Mono Project hat gestern die seit langem erwartete Version 2.0 seiner Open-Source-Implementierung des .NET Framework von Microsoft veröffentlicht.

Mono ermöglicht den Betrieb von .NET-Anwendungen unter Linux, Mac OS X und Unix. Die in zweieinhalb Jahren entwickelte neue Version 2.0 ist vollständig API-kompatibel mit ASP.NET und Windows-Forms-Applikationen und kompatibel mit Desktop- und Server-Komponenten von Microsofts .NET Framework 2.0.

Microsoft selbst ist mittlerweile allerdings bei Version 3.5 des .NET Framework angelangt und begann in der letzten Woche von der Version 4.0 mit Unterstützung für Parallel Computing zu reden. Mono 2.0 unterstützt ebenfalls schon wichtige 3.5-Features wie den Compiler für C# 3.0 oder LINQ (Language Integrated Query). Allerdings fehlen der Open-Source-Umsetzung wichtige APIs aus Microsofts .NET Framework 3.0 und 3.5, speziell Windows Communication Foundation (WCF), Windows Workflow Foundation (WWF) und Windows Presentation Foundation (WPF).

Für WCF und WWF gibt es nach Angaben des Mono-Projektleiters Miguel de Icaza bereits einigen Alpha-Code, ein Release sei im kommenden Jahr denkbar. Für WPF gebe es keine vergleichbare Nachfrage. Als Ersatz komme hier außerdem "Moonlight" in Betracht, eine ebenfalls von Novell betriebene Open-Source-Implementierung von Microsofts "Silverlight".

Der Mono Migration Analyzer (MoMA)
Der Mono Migration Analyzer (MoMA)

Eine interessante Neuerung in Mono 2.0 ist der Mono Migration Analyzer (MoMA), mit dem man den eventuell nötigen Aufwand zur Migration einer .NET-Anwendung auf eine Linux-Umgebung abschätzen kann. De Icaza schätzt, dass knapp die Hälfte aller Applikationen (45 Prozent) unmodifiziert auf Mono 2.0 läuft. Weitere 18 Prozent erforderten "einige Wochen" Arbeit für plattformspezifische Anpassungen. Für rund 20 Prozent der .NET-Anwendungen schätzt der Novell-Mann den Aufwand auf drei bis sechs Monate, und zwar vor allem dann, wenn eine Software besonders eng mit dem Microsoft-Betriebssystem Windows verzahnt ist.

Die Mono-2.0-Runtime steht unter der GNU LGPL, Klassenbibliotheken und Compiler unterliegen der MIT-X11-Lizenz. Mono 2.0 kommt mit Ein-Klick-Installern für Suse Linux Enterprise und Open Suse, neuen Installationsprogrammen für andere Plattformen und soll für ASP.NET, ADO.NET und die Runtime verbesserte Skalierbarkeit und Leistung bieten. Außerdem ist ein Virtual-Machine-Image mit einer einsatzfähigen Entwicklungsumgebung verfügbar.