| 

.NET C# Java Javascript Exception

4
Hallo zusammen,
ich habe eine größere WinForms-Applikation, die das 4.5er .Net-Framework braucht. Nun fragt der Kunde an, ob diese Applikation auch auf Apple-Touchpoads laufen würde. Ich habe viel recherchiert, aber so richtig habe ich keine Info gefunden, wie aufwändig es mit MonoTouch / Xamarin ist. Hat jemand Erfahrung damit, wie aufwändig es ist, eine .Net-(WinForm) Applikation auf IOS zum Laufen zu bekommen? Und wenn wir schonmal dabei sind: Wie sieht es mit Android aus? Wie aufwändig ist es, eine bestehende .Net-(WinForm) Applikation auf Android zum Laufen zu bekommen? Ginge das mit älteren .Net-Frameworks, wenn ich die 4.5er Komponenten austausche?
12.06.2013
KN 1,7k 1 8
KN 1,7k 1 8
Tausend Dank für eure Tipps! Haben mir alle weitergeholfen.
KN 13.06.2013
3 Antworten
1
Ich würde den Kunden fragen, ob es wirklich Sinn macht, eine Desktop-Applikation, die für Tastaturbedienung implementiert, wurde auf einem Touchpad laufen zu lassen.

Wenn die Anwendung sowohl unter IOS als auch unter Android laufen soll, bietet es sich eher an eine HTML-Oberfläche zu implementieren und die Anwendungslogik über Web-Services oder ähnliches aufzurufen.

Eine einfache Möglichkeit, eine Windows-Anwendung auf ein Touchpad zu bekommen ist die Nutzung von mit VMWare erstellten virtuellen Maschinen (VMWare Horizon View). VMWare bietet kostenlose Apps sowohl für IOS als auch für Android. Für dauerhaftes Arbetiten ist diese Lösung meines Erachtens aber nicht geeignet.

Gruß
Klaus
13.06.2013
luedi 2,0k 1 9
1
Mit praktischen Erfahrungen kann ich leider nicht dienen. Aber ein paar allgemeine Überlegungen kann ich anbieten.

Windows Forms sind letztlich nur eine schmale Wrapper-Schicht um die Win32-GUI-Controls. Ich bezweifle stark, dass dieser Namespace von den Xamarin/Mono unter iOS/Android unterstützt wird. Was soll dort z.B. Control.Handle bedeuten? Ich halte es auch konzeptionell nicht für sinnvoll, denn eine Touchpad-App wird doch ganz anders bedient als eine Windows-Anwendung.

Was aber denkbar wäre: die Geschäftslogik eurer Anwendung zu erhalten und ein neues UI darüber zu legen. Wieviel Aufwand das für euch bedeuten würde, hängt stark von Eurer Anwendung ab; das müßt ihr also selbst beurteilen. Die Chancen, dass ihr den Code für die Geschäftslogik mit Hilfe von Mono portieren könnt, stehen ziemlich gut, so dass ihr "nur" noch das UI neu implemntieren müßtet, um die Anwendung auf das Touchpad zu bringen.
13.06.2013
Matthias Hlawatsch 13,2k 4 9
1
Prinzipiell lassen sich .NET-Anwendungen von Windows auf iOS und Android portieren. Ams leichtesten ist es, wenn dabei nur Funktionalitäten verwendet werden, die gleichermaßen in .NET und Mono implementiert sind. Dies ist bei .NET 2.0 der Fall. Und ja, auch die Windows Forms sind vollständig in Mono implementiert und sind geräteübergreifend nutzbar. Anwendungen, die auf Windows erzeugt und übersetzt sind, sind dann auch direkt auf iOS und/oder Android ausführbar. Allerdings gibt es den Bedarf an Anpassungen im Bereich der Windows Forms (z.B. für Displaygrößen, ggfs. andere Eingabefunktionen, etc pp). Grundlagen zu den unterstützten Systemen von Mono findest Du hier. Und wenn Du native iOS- und/oder Android-Apps in Visual Studio entwickeln willst, findest Du mit Xamarin eine entsprechende kommerzielle Entwicklungsplattform. Anwendungen können dabei sogar mit gerätespezifischen User Interfaces ausgestattet werden (Windows, Mac, iOS, Android). Für einfachere .NET-/Mono-Anwendungen werden allerdings keine zusätzlichen Tools benötigt. Werden spezielle .NET-4.5-Funktionen genutzt, die nicht in Mono verfügbar sind, müssen diese allerdings auf anderem Wege umgesetzt oder nachgebildet werden. Ob sich das für Deine Anwendungen lohnt, kann ich aber nicht beurteilen.

Ich nutze für die .NET/Mono-Entwicklung immer Visual Studio (ohne Zusatz-Tools), da alternative Mono-Entwicklungsumgebungen für den Mac in der Regel Probleme mit dem deutschen Zeichensatz haben. Unter Windows entwickelte Anwendungen laufen dann auch unter dem Mac ohne Probleme und mit dem korrekten Zeichensatz.
13.06.2013
Claus M. 2,9k 9
1
Bist Du Dir wirklich sicher, dass Windows Forms in Mono for Android zur Verfügung steht?
Schau mal hier:
http://forums.xamarin.com/discussion/2778/could-not-load-assembly-system-windows-forms
Und ich denke, für iOS gilt das Gleiche...
Matthias Hlawatsch 13.06.2013
Hi Matthias, ich forsche noch. Aber nach dem, was ich bis jetzt gelesen habe, müsste ich wohl die Oberfläche neu machen.
KN 13.06.2013
1
Mein Fehler, das klappt mit den Windows Fornms nur in Mac OS/Unix/Linux. Für andere Systeme muss man sich also anders helfen (siehe http://www.mono-project.com/Gui_Toolkits).
Claus M. 14.06.2013

Stelle deine .net-Frage jetzt!