Entwickler-Ecke
Sonstiges (.NET) - .NET Bibliotheken unter MacOS verwenden - Möglich?
Ares - Di 23.11.10 12:34
Titel: .NET Bibliotheken unter MacOS verwenden - Möglich?
Hallo!
Ich arbeite gerade an einem kleinen Buchhaltungsprogramm. Das Ganze soll später mal unter Windows und auch MacOS verwendet werden können. Da es .NET für den Mac (noch?) nicht gibt, muss ich mir dort etwas anderes überlegen.
Das Programm wird zwar nicht allzu komplex, dennoch wäre es auf Dauer keine Lösung zweimal den gleichen Code zu pflegen. Ich habe mir daher überlegt GUI und Logik des Programms strikt von einander zu trennen. Die GUI kann ich dann unter Windows mit WinForms oder WPF und unter MacOS mit Cocoa erstellen. Die Logik entwickle ich hingegen nur einmal und muss dann "nur" die jeweilige GUI an diese "ankoppeln".
Unter Windows wäre es ja kein Problem die Logik in eine DLL auszulagern und auf diese aus einem Programm heraus zuzugreifen. MacOS verwendet auch Bibliotheken die ähnlich zu DLLs sind. Diese haben dort soweit ich weiß z.B. die Endungen .dylib.
Ich habe noch keine genaueren Informationen dazu gefunden, aber ich vermute stark, dass eine Windows DLL nicht einfach in .dylib umbenannt und unter MacOS verwendet werden kann. Vielmehr wird es wohl so sein, dass der Quelltext mit einem Windows-Compiler zu einer DLL und mit einem Mac-Compiler zu einer DyLIB übersetzt werden kann. Korrekt?
Damit wären wir bei dem Problem, dass es für den Mac kein .NET und somit sicherlich auch keinen C# Compiler gibt. Ist es also möglich auf Basis von C# eine Bibliothek zu schreiben die zu einer DLL und einer DyLIB compiliert wird? Dafür müssten ja zwei Dinge möglich sein:
1. Mit C# Code schreiben, der von .NET unabhängig ist. Keine Ahnung ob das möglich ist. Für Buchhaltungsfunktion wie Mittelwertberechnung, etc. brauche ich theoretisch kein .NET Framework, aber ist so eine Trennung möglich?
2. Ein Mac Compiler der das ganze übersetzt.
Geht das?
Oder führt in diesem Fall kein Weg an C/C++ vorbei? Hierfür gibt es ja Compiler für Windows und den Mac, weshalb das Vorhaben hiermit möglich sein sollte, oder?
Wie man sieht stehe ich noch am Anfang der Planung und muss noch einige Grundlagen klären. Jede Hilfe und jeder Tipp ist daher sehr willkommen!
Vielen Dank für eure Meinung zu diesem Thema!
Besten Dank
Ares
Christian S. - Di 23.11.10 14:07
Hallo!
Du kannst auf dem Mac das Mono-Framework benutzen. Das ist ein Implementierung von .NET für Windows, Linux und Mac und ist kompatibel mit dem .NET-Framework (bis zu welcher Version weiß ich gerade nicht, aber höher als 2.0 war es schon), sodass Du Deine .NET-Assemblies dort problemlos benutzen kannst. Ein C#-Kompiler ist auch dabei, falls Du doch mal auf dem Mac kompilieren möchtest.
Welches GUI-Framework da gerade die bevorzugte Wahl ist, weiß ich nicht, dafür kenne ich mich mit Mac zu wenig aus.
Grüße
Christian
Kha - Di 23.11.10 20:17
Die bisherigen Cocoa-Binding von Mono waren afaik nicht ganz das Gelbe vom Ei, aber mit dem von MonoTouch inspirierten
MonoMac [
http://www.mono-project.com/MonoMac] soll sich das eindeutig zum Positiven gewandelt haben :) .
PS: Silverlight war keine Option?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!