Vorheriger Artikel Nächster Artikel

.NET als Open Source: Mono

Aus dem
t3n Magazin Nr. 4

06/2006 - 08/2006

Kompilierte Webanwendungen in einer modernen zu hosten, bedeutet nicht mehr zwingend, Java einsetzen zu müssen. Nach einigen Jahren der hat Mono die notwendige Reife, ASP.Net-Seiten auf praktisch jeder Plattform ausführen zu können. Darüber hinaus bietet es eine moderne Umgebung ohne unnötigen Ballast. Mono hat das Zeug dazu, eine der Hauptentwicklungsplattformen im Open-Source-Bereich zu werden.

Mono ist die Open-Source-Umsetzung des Microsoft .Net-Frameworks. Um Mono zu verstehen, muss daher zunächst der von Microsoft ursprünglich verfolgte Ansatz erläutert werden. Microsoft hatte sich mit der Entwicklung von .NET zweierlei Ziele gesetzt: Zum einen sollte das bekannte COM-Komponente-Framework ersetzt und zum anderen ein Gegenentwurf zu Suns Java-Plattform geschaffen werden. Zunächst hatte Microsoft, mangels einer Alternative zu Java, von Sun entsprechende Lizenzen erworben und ein Paket mit dem Namen J++ geschnürt. J++ ist im Verlauf der Weiterentwicklung jedoch vom Sun-Standard abgewichen, da immer mehr Windows-spezifische Erweiterungen Einzug fanden. Das führte dazu, dass Sun und Microsoft sich nicht auf ein weiteres Lizenzabkommen einigen wollten. Dementsprechend arbeitete man bei Microsoft fern der Öffentlichkeit bereits an einer Java-ähnlichen Technologie, die schließlich 2002 unter dem Namen .NET präsentiert wurde. Dieses Framework stellte sich zwar in seinen Einzelbestandteilen als nichts wirklich Neues dar, in seiner Gesamtheit war es jedoch ein homogenes und fortschrittliches Konzept. Vor allem hatte man aus vielen Design-Fehlern verschiedener Ansätze radikale Konsequenzen gezogen.

Das Framework bediente sich bekannter Konzepte von Java, erweiterte und veränderte diese. Man vollzog eine strikte Trennung zwischen Programmiersprache und Laufzeitumgebung. So konnten verschiedene Programmiersprachen (am Anfang Visual-Basic.NET und C#) miteinander kooperieren. Das Java-Konzept des Bytecodes griff man auf, änderte es aber dahingehend, dass er besser auf registerbasierten Prozessoren zu optimieren ist und grundsätzlich JIT-kompiliert wird. Trotz des plattformunabhängigen Charakters dieser Technologien verstand Microsoft unter der in dem Zusammenhang propagierten Plattformunabhängigkeit lediglich die Kompatibilität zu allen Windows-Versionen. Diesen Umstand griff Mono auf. Weitere typische .NET-Eigenschaften sollen daher im Folgenden auf Basis von Mono erläutert werden.

Mono (spanisch für Affe) ist ein inzwischen von Novell geführtes Open-Source-Projekt. Der Begründer Miguel de Icaza – Initiator des GNOME-Projektes – hatte ursprünglich das Ziel, eine moderne Entwicklungsplattform für GNOME zu realisieren. Die Umsetzbarkeit eines solchen Vorhabens wurde anfangs angezweifelt, inzwischen ist Mono jedoch kompatibel zu .Net 1.0. Dabei war die schiere Größe des .Net-Frameworks (in der Version 1.0 über 5000 Klassen) nicht die größte Hürde. Probleme bereitete vor allem die starke Windows-Ausrichtung bestimmter Klassen. Trotz alledem ist Mono inzwischen ein großes und aktives Open-Source-Projekt [1] mit reger Community und schnell wachsender Anhängerschaft.

1 3 4 5 6 7
Vorheriger Artikel Zurück zur Startseite Nächster Artikel
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Aktuelles aus dem Bereich Entwicklung
Abschied von Karl Klammer: Warum so viele IT-Unternehmen sich für Open-Source-Software entscheiden
Abschied von Karl Klammer: Warum so viele IT-Unternehmen sich für Open-Source-Software entscheiden

WordPress, Android, Open Office: Immer mehr Unternehmen kapseln sich von den großen Softwarekonzernen ab und setzen auf Open-Source-Produkte. Dabei spielt nicht nur der Preis eine entscheidende Rolle. » weiterlesen

Vagrant: Warum diese Open-Source-Software euer Deployment vereinfacht – eine Einführung
Vagrant: Warum diese Open-Source-Software euer Deployment vereinfacht – eine Einführung

„Auf meinem System gibt es diesen Fehler aber nicht!“ In diesem Artikel erklären wir euch warum ihr von Vagrant gehört haben müsst, und wie ihr damit effizienter entwickeln könnt. » weiterlesen

Alternative zu nginx und Apache: Appserver.io ist da
Alternative zu nginx und Apache: Appserver.io ist da

Ein Application-Server mit Message-Queue, Timer-Service, Persistence-Container. Open-Source und komplett in PHP geschrieben. Gibt es nicht? Jetzt schon. Nach zwei Jahren Entwicklungszeit … » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n 39 jetzt kostenfrei probelesen! Alle Inhalte des t3n Magazins Diesen Hinweis verbergen