Entwicklung

.NET als Open Source: Mono

Kompilierte Webanwendungen in einer modernen Infrastruktur zu hosten, bedeutet nicht mehr zwingend, Java einsetzen zu müssen. Nach einigen Jahren der Entwicklung 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.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.