Plattformunabhängigkeit

Eintrag zuletzt aktualisiert am: 07.03.2004

In weiten Teilen ist das .NET Framework ist inzwischen unter dem Namen Common Language Infrastructure (CLI) inzwischen bei der ECMA standardisiert (ECMA-Standard 335, Arbeitsgruppe TC39/TG3, siehe http://www.ecma.ch/ecma1/MEMENTO/tc39.htm).

Die Begriffe sind in diesem Standard etwas anders als bei Microsoft: Was im .NET Framework Microsoft Intermediation Language (MSIL) heißt, ist im Standard die Common Intermediate Language (CIL). Statt Framework Class Library (FCL) spricht man von der CLI Class Library. Bisher nicht standardisiert sind leider die Kernkomponenten der Benutzerschnittstelle (Windows Forms und Web Forms) sowie die Datenzugriffkomponente ADO.NET. Es gibt zwei unterschiedliche Gerüchte darüber, warum diese Bausteine bisher nicht standardisiert wurden. Einerseiseits heißt es natürlich, Microsoft wolle die Standardisierung dieser wichtigen Elemente nicht. Andererseits hält man aber Microsoft zu Gute, dass man diese Teil zunächst nur ausgeklammert habe, um den Standardisierungsprozeß zu beschleunigen, weil die anderen Komitee-Mitglieder in diesen Bereichen einen erhöhten Diskussionsbedarf gehabt hätten.

Die ECMA stellt zwei Referenzimplementierungen der CLI für Windows XP (NT 5.1) und FreeBSD 4.5 bereit (Die Quellcodes und Dokumente sind nicht auf dem Webserver der ECMA, sondern auf den Homepages der Beteiligten Unternehmen). Diese Referenzimplementierung wird als "Shared Source-Version der CLI" oder kurz mit dem Codenamen "Rotor" bezeichnet. Wie den Listings von Rotor zu entnehmen ist, stammt der Code von Microsoft. Entfernt wurden lediglich die nicht standardisierten Klassen und Klassenmitglieder. Der südafrikanische Professor Shaun Bangay (Computer Science Department, Rhodes University) hat Rotor auf Linux zum Laufen gebracht.

Parallel dazu bemühen sich mit Mono (http://www.go-mono.org) und dem DotGnu-Projekt (http://www.dotGNU.org) zwei Gruppen um eine Open Source-Reimplementierung der CLI.