Schwerpunkte

Windows »unplugged«

DotGNU befreit .NET aus seiner Abhängigkeit

16. März 2007, 09:16 Uhr   |  Von Heiko Weiss


Fortsetzung des Artikels von Teil 1 .

DotGNU im täglichen Gebrauch

Im Rahmen der Definition einer neuen Generation von gepulsten Lasern bei Trumpf Laser war es notwendig, eine neue Steuerungsplattform einzuführen. Dabei sollte die komplette Steuerung aus Effizienzgründen auf nur einer CPU ablaufen. Gleichzeitig war der Umstieg vom bisher zur vollen Zufriedenheit eingesetzten Betriebssystem OS-9 auf ein neues Betriebssystem zu bewältigen. Dieses neue System musste Echtzeit-Fähigkeiten aufweisen und gleichzeitig eine grafische Bedienoberfläche haben. Es sollte zuverlässig sein und die Möglichkeit bieten, rasch neue Technologien ohne großen Aufwand zu implementieren. Und es sollte auf dem Markt eine breite Unterstützung haben. So kam man auf Linux und damals, zu Beginn der Entwicklungsarbeiten, auf die Erweiterung LibeRTOS. Nachdem in ausgiebigen Black-Box-Anwendungen die Eignung von Linux für die gestellten Echtzeit-Anforderungen nachgewiesen werden konnte, war die Frage nach der Bedienoberfläche für den Endanwender noch zu beantworten.

Die Trumpf-Gruppe hatte sich zu diesem Zeitpunkt bereits für einen einheitlichen Styleguide in Form einer „Trumpf-Bedienoberfläche“ entschieden. Dieser Styleguide wurde bereits in C#-Bibliotheken umgesetzt, also in die .NET-Welt von Microsoft. Für die neue Steuerungsgeneration bedeutete dies: Entweder man findet einen Weg, die Bibliotheken nach Linux zu übernehmen, oder man muss sie komplett in Linux nachprogrammieren.

Da der zweite Ansatz schon aus Kosten- und Zeitgründen aus-schied, blieb nur die Alternative zwischen einer Lösung, die die Portierung von .NET-Code auf Linux erlauben würde oder die Umsetzung der kompletten Steuerungssoftware von Linux auf eine Microsoft-Lösung. Die Suche nach ei-ner Lösung für Linux führte zu Mono [4] und DotGNU Portable .NET. Trumpf untersuchte beide Ansätze und es stellte sich bald heraus, dass unter Mono die „System.Windows.Forms“ (SWF) nicht oder nur teilweise implementiert waren (und auch heute noch nicht vollständig implementiert sind).

Nachteilig an Mono war weiterhin, dass weitere Module nötig sind, um CIL-Code ausführen zu können. So benutzte und benutzt Mono einen Windows-Emulator (WINE), um die SWF darstellen zu können. Kritisch ist die juristische Seite beim Einsatz von Mono zu sehen – Teile der Klassenbibliothek könnten Softwarepatente von Microsoft verletzen. Im Rahmen der Kooperation von Novell (steht hinter dem Mono-Projekt) und Microsoft wurde angekündigt, dass ein gegenseitiges Patentabkommen geschlossen werden soll. Damit wären dann zumindest diese juristischen Fragen geklärt.

DotGNU konnte zu diesem Zeitpunkt bereits eine vollständige Implementierung der System.Windows.Forms anbieten. Auch waren und sind keine weiteren Softwaremodule notwendig, um eine komplette Common Language Infrastructure (CLI) zu bieten. Damit kann ein unter Windows für .NET entwickelter Code ohne weitere Compilierung oder Portierung sofort genutzt werden. DotGNU ist CLI-konform, das heißt, jeder Code in CIL wird von DotGNU ausgeführt, unabhängig davon, ob er ursprünglich in C#, C++ oder Visual Basic entwickelt worden ist. Zum heutigen Zeitpunkt wird das .NET Framework Version 1.1 aus dem Jahr 2003 vollständig unterstützt.

Seite 2 von 3

1. DotGNU befreit .NET aus seiner Abhängigkeit
2. DotGNU im täglichen Gebrauch
3. Windows-Programme laufen unverändert unter DotGNU

Auf Facebook teilen Auf Twitter teilen Auf Linkedin teilen Via Mail teilen

Verwandte Artikel

TRUMPF Laser GmbH + Co. KG