Gibt es eine cross-Plattform-GUI-framework für C#/.NET?
Lassen Sie uns sagen, nur für die Freude, ich beschließe, dass ich nicht wollen, zum schreiben von desktop-Anwendungen in Java nicht mehr, sondern wechseln möchten, mithilfe von C#. Ich möchte in der Lage sein, eine Anwendung zu erstellen, die ausgeführt wird, auf einige mainstream-Linux-distribution, und eine aktuelle Version von MS Windows. Es wird eine GUI-Komponente.
In Java, die ich aufbauen kann, eine Anwendung mit Swing. Einmal habe ich es funktioniert, kann ich kopieren, dass die jar-Datei von Windows zu Linux oder Umgekehrt, je nachdem, wo ich es entwickelt. Und es wird in der Regel mit java -jar myapp.jar
.
In C# ist es möglich, dies zu tun? Gibt es ein funktionales äquivalent zu Swing oder AWT in C#?
InformationsquelleAutor Jay R. | 2009-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es Eto.Formen (auf github), die eine Abstraktionsschicht auf der Oberseite der WPF, WinForms, GTK, und MonoMac/Kakao - so können Sie einen einheitlichen Benutzeroberfläche auf allen Plattformen, ohne zu re-implementieren, die für jede Plattform. Sie müssen nicht zu leiden kleinsten gemeinsamen Nenner, da können Sie implementieren Besonderheiten für jede Plattform (wenn gewünscht, aber nicht erforderlich).
Es hat einen Vorteil, dass es rein ist .NET und nur setzt auf OS-geliefert Abhängigkeiten, im Gegensatz zur Verwendung von GTK oder WxWidgets, wo Sie hätte zu bündeln nativen binaries für verschiedene Plattformen.
ja, man kann sicherlich. Geben Sie einfach die geeignete Plattform, um die Eto.Formen.Anwendung constructor. (;
InformationsquelleAutor Curtis
Wahrscheinlich GTK# wäre der nächste.
Ich weiß, andere haben gesagt mono, aber das ist nicht ganz richtig. .Netto-ist-zu-mono-Microsoft-Java-VM, Sun Java runtime. mono ist nicht wirklich in der gleichen konzeptionellen Raum-Swing. Für, die, GTK# ist eine engere Partie.
InformationsquelleAutor Joel Coehoorn
Ich glaube, dass ein guter Teil der WinForms implementiert ist in Mono. Benötigen Sie für die Installation von Mono unter Linux. Können Sie Kompatibilitätsprobleme haben, denn Mono ist nicht ein Microsoft-Aufwand und ist nicht offiziell von Ihnen unterstützt.
Ich Stimme zu, es ist eine sehr gute Gemeinschaft bemühen 🙂
Soweit ich informiert bin alle WinForms 2.0 implementiert ist.
WinForms wirklich? Das ist interessant. Als letztes überprüfte ich vor ein paar Jahren, da war nichts.
key phrase, dass es "ein paar Jahren" mono ist immer noch ein sehr aktives Projekt.
InformationsquelleAutor Rob
Auf dieser Seite hat eine Liste der GUI-toolkits unterstützt Mono, einschließlich der vor-und Nachteile für jeden von Ihnen. Wie andere haben vorgeschlagen, WinForms, GTK#, und wxNet sind alle praktikable Möglichkeiten.
InformationsquelleAutor Greg Campbell
Dies ist eine ältere Frage, aber als ein update, eine Kombination von Mono und Xamarin arbeiten sollten für Ihr modernes cross-Plattform-Anforderungen.
http://www.mono-project.com/docs/gui/winforms/
Microsoft hat nur open-Source .NET und ist verpflichtet, bringen die .NET core auf Linux und MacOS mit der nächsten version. Microsoft hat auch bildeten eine enge Partnerschaft mit Mono und Xamarin, die speziell zu helfen, mit Ihren Android-und Linux-Bibliotheken.
http://www.hanselman.com/blog/AnnouncingNET2015NETAsOpenSourceNETOnMacAndLinuxAndVisualStudioCommunity.aspx
InformationsquelleAutor Brian Deragon
Die nächste Sache, die ich je gesehen habe ist Mono, aber er unterstützt nicht alle CLR-Bibliotheken dennoch glaube ich, aber es ist cross-Plattform.
InformationsquelleAutor Sam Schutte
Können Sie versuchen,WxWidgets. Es hat Unterstützung für C#, unter vielen anderen Sprachen, und ist cross-Plattform. Der einzige Nachteil, eine für jede Plattform neu kompilieren. Alternativ können Sie versuchen, Mono ist sehr gut, aber Vorsicht, es gibt ein paar Tücken mit der Kompatibilität Probleme. Es gibt keine vordefinierten "run anywhere" - Datei für C# - apps, doch wie Java hat mit Gläsern, obwohl, Sie sind beste Wette ist, um für jede Plattform neu kompilieren, wenn Sie möchten, um die Kompatibilität zu gewährleisten.
InformationsquelleAutor John T
Für iOS, Android und Windows Mobile, es ist Xamarin.Formen. http://xamarin.com/forms Dies ist eine Abstraktionsschicht, die es Ihnen ermöglicht, zu schreiben, cross-Plattform-code, welches an den nativen GUI-toolkits unter der Haube.
Ich bin auf der Suche für weitere Lösungen wie das - ich kümmern sich nicht nur über mobile Plattformen, sondern auch desktop-Plattformen (windows, mac OS x, fedora/ubuntu/linux etc)
InformationsquelleAutor Edward Ned Harvey
Windows.Formen ist die standard-Bibliothek für die Entwicklung von GUI-Applikationen für .NET
Trotz des seins sehr gut unterstützt Windows, version 2.0 ist vollständig implementiert, von Mono zu, wodurch es auf allen Plattformen unterstützt Mono.
WPF auf der anderen Seite ist konzeptionell neuen Bibliothek, jetzt ist es voll unterstützt hauptsächlich nur unter Windows und nur ein Teil davon unterstützt von Mono durch Ihre Silverlight-Implementierung Moonlight.
Wenn Sie Anwendung für eine produktive cross-Plattform-Nutzung und/oder konservative performance-Einschränkungen gehen Windows Forms.
Wenn Sie möchten, zu Experimentieren und etwas neues zu lernen oder wenn Sie entwickeln eine neue Anwendung für Windows gehen WPF. Dies ist die neue Technologie für die client-GUI-Anwendungen.
InformationsquelleAutor devdimi