Mono macht es möglich

Mono macht
es möglich

Linux-Applikationen unter Windows entwickeln

Linux wird in der Bildverarbeitung immer öfter eingesetzt, allerdings ist hierfür Spezialwissen notwendig. inVISION sprach mit Ulli Lansche, Technischer Redakteur bei Matrix Vision, über neue Möglichkeiten, wie man zukünftig unter Windows Linux-Applikationen für die intelligente Kamera mvBlueLynx-X entwickeln kann, ohne Linux-affin zu sein.

Welche Wege gab es bisher, um Applikationen auf ARM-/Linux-Umgebungen für Ihre intelligenten Kameras zu entwickeln?

U. Lansche: Bisher gab es die Möglichkeit in einer Cross-Compiler-Umgebung Programme für die intelligente Kamera mvBlueLynx-X zu entwicklen, d.h. auf einem Linux-Rechner wird der passende Cross-Compiler installiert und eine Entwicklungsumgebung (sogenannte IDE) wie beispielsweise Eclipse mit den passenden Bibliotheken für das Zielsystem ‚ARM‘ eingerichtet. Danach wurde eine Applikation programmiert, kompiliert und die binäre Datei auf die Kamera kopiert und ausgeführt. Für Linux-affine Entwickler kein Problem; für alle anderen wurde mit Beginn der Auslieferung der Kameras eine fertig konfigurierte, Linux-basierte Entwicklungsumgebung auf einer Live-DVD zur Verfügung gestellt. Damit konnte ein Entwickler sofort mit der Programmierung beginnen und musste sich um keine Einstellung kümmern. Windows-Usern war es ferner möglich, eine virtuelle Maschine mit der Live-DVD aufzusetzen und auf einem Windows-System auszuführen. So konnte der Windows-Entwickler nun in seiner globalen ihm bekannten Umgebung arbeiten, dennoch musste er sich in der virtuellen Maschine mit Linux auseinandersetzen.

Sie haben jetzt mit ‚Mono‘ eine dritte Alternative im Programm, warum?

U. Lansche: Wir wollen damit Entwicklern mehr Möglichkeiten bieten und natürlich auch die Zielgruppe vergrößern. Wollte sich beispielsweise ein Windows-Entwickler mit Linux partout nicht anfreunden, war dies oft ein unberechtigtes K.O.-Kriterium für unsere Kamera.

Was ist Mono und wo liegen die Vorteile?

U. Lansche: Mono ist eine .NET kompatible, plattformunabhängige Entwicklungs- und Laufzeitumgebung, d.h. .NET als aktuelle Software-Plattform von Microsoft unterstützt naturgemäß nur Windows. Das Mono-Projekt macht .NET und deren Programmiersprache C# für weitere Plattformen wie Linux verfügbar. Windows-Entwickler können somit Programme in ihrer bekannten Umgebung entwickeln und binäre EXE-Dateien erzeugen, welche Mono dann auf anderen Plattformen wie Linux ausführbar macht. EXE-Dateien auf Linux ausführen? Genau das! Selbst Display-Bibliotheken (System.Windows.Forms) werden von Mono unterstützt, sodass auch GUI-basierte Applikation auf Linux und damit auf unserer intelligenten Kamera direkt ausgeführt werden können.

Wie erstelle ich zukünftig meine Applikationen?

U. Lansche: Linux-affine Nutzer können weiterhin auf Linux in einer Cross-Compiler-Umgebung Applikationen programmieren. Ihnen ist es überlassen, ob sie die Umgebung selber einrichten oder die vorkonfigurierte Live-DVD verwenden. Für Windows-Programmierer dagegen sieht die Entwicklung zukünftig wie folgt aus:

1. Entwickeln der Applikation in C# in Visual Studio.

2. Erzeugen der EXE-Datei.

3. Mit dem Mono Migration Analyzer, einem freien Tool des Mono-Projekts, mit welchem die Kompatibilität geprüft wird, die EXE-Datei prüfen.

4. Die EXE-Datei auf die Kamera kopieren.

5. Die EXE-Datei direkt ausführen.

Das könnte Sie auch Interessieren