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 2 .

Windows-Programme laufen unverändert unter DotGNU

bild2_4c2266_03.jpg
©

Bild 2. Unter DotGNU ablaufende grafische Oberflächen stehen ihren Windows-Pendants in nichts nach.

Der CLI-Konformität wegen können Entwickler in ihrer vertrauten Microsoft-Umgebung arbeiten und das Ergebnis ihrer Arbeit läuft ohne zusätzlichen Aufwand unter Linux. Die Investitionen in das Know-how der Mitarbeiter, in Styleguides, Tools und Bibliotheken können weiter genutzt werden. Die Umsetzung von .NET bietet indes noch mehr Vorteile als nur die Nutzung der gewohnten Entwicklungsumgebung. Komplexe Grafiken können mit der gewohnten Klasse „System.Drawing“ erstellt werden. Wie Bild 2 bestätigt, ist die Qualität der Bilder unter DotGNU und Linux dem Pendant unter Windows ebenbürtig.

Selbst mit der Grafikfähigkeit ist DotGNU aber noch nicht ausgereizt. Alle in .NET implizit vorhandenen Leistungen können genutzt werden.
So verwendet Trumpf beispielsweise die Möglichkeiten der System.NET-Klasse für die Kommunikation der Echtzeit-Steuerung mit der grafischen Oberfläche. Diese und andere Socket-basierte Kommunikationsbeziehungen sind mit .NET-Klassen programmiert worden und laufen dank DotGNU-Umgebung problemlos auch unter Linux.

Spezialisierte Entwicklungsumgebungen wie „Qt“ haben im Gegensatz zu dem hier beschriebenen Ansatz den Nachteil, dass es sich um eine komplett neue Umgebung handelt. Der Programmierer muss sich komplett neu einarbeiten, weil er nicht einfach mit den bekannten Klassen und Funktionen weitermachen kann. Oftmals weisen derartige Ansätze auch Beschränkungen auf, z.B. auf grafische Komponenten. Und weitere Funktionen wie Sockets oder Sicherheitsaspekte werden nicht unterstützt. Auch ist der erzeugte Source-Code meist nur bedingt portabel. In aller Regel erzeugen derartige Entwicklungsumgebungen Native Code (Maschinencode), der auf nur exakt einem CPU-Typ lauffähig ist.

Diese Nachteile werden durch den Ansatz mit interpretierbarem Code (CIL) umgangen. CIL erlaubt den Einsatz auf unterschiedlichen Hardware-Plattformen ohne neue Programmierung oder Compilierung. Voraussetzung ist, dass ein Interpreter für das Betriebssystem und die spezifische Hardware zur Verfügung steht. Der vermeintliche Nachteil, dass interpretierter Code langsamer ist als compilierter Code, wird durch den Einsatz eines Just-in-Time-Compilers bei DotGNU nahezu vollständig aufgehoben oder kommt durch einen hoch optimierten Interpreter erst gar nicht auf. Da DotGNU der Spezifikation der ECMA/ISO/IEC für eine CLI entspricht, gibt es Profile für diverse Leistungsklassen von Hardware. Dies erlaubt den Einsatz auf kleinen Systemen mit wenig Speicher und ohne dedizierte Hardware-Unterstützung.

Nie war der Umstieg auf Linux so einfach

DotGNU Portable .NET ist einfach zu installieren. Der Source-Code ist vollständig offen, es müssen keine Abhängigkeiten beachtet oder Pakete nachgeladen oder mitinstalliert werden. Selbstverständlich gab es beim Einsatz von DotGNU auch Schwierigkeiten. Diese konnten aber dank des Open-Source-Ansatzes teilweise selbst behoben werden, teilweise wurden sie von der Entwicklergemeinde gelöst. Als sehr hilfreich hat sich der Ansatz erwiesen, einen Contest auszuloben, wenn ein Feature nicht vorhanden war oder noch nicht so implementiert war, wie man es vielleicht aus der Windows-Welt gewohnt ist. DotGNU ist heute soweit, dass es im professionellen Umfeld eingesetzt werden kann und es ist nur zu hoffen, dass möglichst bald viele Software-Hersteller und -Nutzer die Möglichkeiten erkennen, die in diesem Ansatz stecken.

Zusammenfassend kann festgestellt werden, dass der Umstieg von Windows auf Linux nie so einfach war wie jetzt mit DotGNU. Alle Applikationen, die unter Microsoft .NET v1.1. lauffähig sind, laufen ohne Einschränkungen – und dies gilt vor allem für die Grafik – dank DotGNU auch unter Linux. Wird ein Linux-Kernel 2.6.18 oder jünger verwendet, steht für die Applikationen ergänzend auch Echtzeit-Fähigkeit zur Verfügung. DotGNU, Linux 2.6.xx und die neusten Entwicklungen im CPU-Bereich – Dual-Core-CPUs und die Verwendung von Virtualisierung – ermöglichen jetzt Lösungen, die bislang nicht denkbar waren. Laserspezialist Trumpf Laser hat die neueste Generation der gepulsten Laser bereits mit einer auf DotGNU aufbauenden Bedienerführung ausgestattet.

Der Autor:

Heiko Weiss
begann nach seinem Studium der Elektrotechnik (BA) 1991 seine Tätigkeit bei Robert Bosch als Software-Entwickler für Motor- und Steuergeräte. Seit 1998 ist er als Software-Architekt für GUI und Steuerungen im Bereich Lasersteuerung der Trumpf Laser GmbH + Co. KG tätig.
Seite 3 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