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.