Plattformunabhängige Simulation und GUI/OpenGL



  • Hallo, ich möchte eine plattformunabhängige Simulation in C# schreiben. Dazu läuft dann unter XP das .Net 2.0 Framework und unter Linux Mono in der aktuellen Version.

    Der zweite Punkt ist, dass möglichst wenig "installiert" werden soll. Also sprich, wenn jemand meine Simulation laufen lassen will, dann sollte er bestenfalls nur die Laufzeit-Umgebung installieren müssen.

    Ziele: Plattformunabhängig, Sprachunabhängig und einfache Installation

    Wie realisiere ich am besten die Benutzeroberfläche, gibt es da eine Bibliothek die ich als Komponenten z.b. in Sharpdevelopment oder VisualStudio Express 2005 einbinden kann? Ähnlich wie bei Delphi die VCL wo man per Drag&Drop z.b. ein Button aufs Formular zieht?

    Gibt wohl verschiedene Ansätze:

    1.) Wx.NET, arbeitet mit einer Zwischenbibliothek die Aufrufe an die Systembibliothek weitergibt. Aber hat wohl den Nachteil, dass man auf jedes Betreibssystem was zusätzlich installieren muss oder?

    2.) Man benutzt die Bibliothek eines Systems und schreibt für den Rest Zwischenbibliotheken, z.b. Gtk+,Winelib.

    3.) Man nimmt die kleinste Untermenge aller GUI's, sowas wie OpenOffice.org dann.

    Ich habe gelesen dass Mono ab 1.1.4 Windows.Forms zu 98% unterstützt, aber wie kann ich mir das genau vorstellen? Mit welcher API arbeite ich dann und was muss ich installieren?

    Die GDI+ ist im Moment nicht Teil der FCL und greift auf Win32 zurück? Wobei das + für managed steht, was immer das heißt genau...Mir ist zu Ohren gekommen dass in Net 3.0 eine Oberfläche mit XML realisiert werden soll, stimmt das oder habe ich das falsch verstanden? Dann wäre ja die GUI Teil von .Net und stände einer Umsetzung in Mono nicht mehr im Wege.

    Achso nochwas anderes, braucht man wenn man Direct X oder OpenGL nimmt immernoch sowas wie eine GUI oder kann man da diese Sachen auch finden wie Buttons, aber eigentlich doofe Frage, glaube nicht 🙂

    DirectX interessiert mir eh nicht wegen Plattformabhängigkeit, weiss jemand ob OpenGL zukünftig offiziell .Net unterstützen wird? Im moment tut es dass nicht, ich bin nur auf projekte gestossen die das Umzusetzen versuchen. Aber vielleicht haben die OpenGL Entwickler ja garkeine Lust auf .Net da ja Windows Vista kein OpenGL standartmässig installiert hat.

    Bin etwas durcheinander, ehrlich gesagt, vielleicht kann das hier oben wer noch korregieren bzw genauer ausführen. Viele Fragen, hoffe der Admin schmeisst mich nicht in hohen Bogen aus dem Forum weil ich soviel angeschnitten habe, was vielleicht wo anders besser aufgehoben wäre...

    LG, Therion



  • Hi,

    Bei einer plattformunabhängigen Anforderung würde ich zu ASP.NET tendieren, wenn die Simulation nicht allzu aufwendig ist. Oder ansonsten halt GTK+, gtkmm oder java.

    Mono soll schon recht gut sein. Ich persöhnlich setze es aber nicht ein.

    Klingt aber vielversprechend: http://www.mono-project.com/GtkSharp

    Von einer einheitlichen Entwicklungsumgebung kannst du dich dann aber verabschieden. Letzendlich schreibst du dein Programm dann zweimal. Auch wenn du Teile sicherlich wiederverwenden kannst.

    OpenGL wird doch eigentlich auch unterstützt:

    Windows:

    http://sourceforge.net/projects/csgl/
    oder
    http://www.codeproject.com/csharp/SharpGL.asp

    und sonst was

    Linux:
    http://www.mono-project.com/Tao

    DirectX interessiert mir eh nicht wegen Plattformabhängigkeit, weiss jemand ob OpenGL zukünftig offiziell .Net unterstützen wird?

    die frage sollte eigentlich umgekehrt lauten:

    "Wird .NET zukünftig OpenGL unterstützen?"

    offiziell im Sinne von "in der Runtime SDK enthalten" sicherlich nicht. Denn OpenGL ist wohl eher ein Konkurrenzprodukt zu MSbaby-DirectX. OpenGL wird es weiterhin in nativen Code geben. Ein Wrapper dafür ist in der Regel auch immer Verfügbar, so dass mans in .NET nutzen kann. Ansonsten schreibt man sich halt einen.

    Natürlich wird in .NET immer DirectX besser supported sein.



  • Java



  • 🙂


Anmelden zum Antworten