Was ist der Unterschied zwischen GTK # und Windows Forms? Sind sie völlig anders?Was ist der Unterschied zwischen GTK # und Windows Forms?
Dank
Was ist der Unterschied zwischen GTK # und Windows Forms? Sind sie völlig anders?Was ist der Unterschied zwischen GTK # und Windows Forms?
Dank
Gtk#:
GTK # ist ein .NET für das Toolkit GTK + zu binden. Das Toolkit ist aus Gründen der Geschwindigkeit und Kompatibilität in C geschrieben, während die GTK # -Bindung eine benutzerfreundliche, objektorientierte API für die verwaltete Verwendung bietet. Es ist in aktiver Entwicklung durch das Mono-Projekt und es gibt verschiedene reale Anwendungen, die es verwenden (Banshee, F-Spot, Beagle, MonoDevelop).
Im Allgemeinen werden GTK # -Anwendungen mit MonoDevelop geschrieben, die einen visuellen Designer zum Erstellen von GTK # GUIs bietet.
Plattformen: Unix, Windows, OSX
Pro:
Nachteile:
Windows.Forms ist ein von Microsoft zu dem Win32-Toolkit entwickelt Bindung. Als beliebtes Toolkit, das von Millionen von Windows-Entwicklern verwendet wird (speziell für interne Unternehmensanwendungen), entschied sich das Mono-Projekt für eine kompatible Implementierung (Winforms), die es Entwicklern ermöglicht, ihre Anwendungen einfach auf Linux und anderen Mono-Plattformen zu portieren.
Während die .Net-Implementierung eine Bindung an das Win32-Toolkit darstellt, wird die Mono-Implementierung in C# geschrieben, damit sie auf mehreren Plattformen ausgeführt werden kann. Die meisten Windows.Forms-APIs arbeiten mit Mono, jedoch umgehen einige Anwendungen (und insbesondere Steuerelemente von Drittanbietern) gelegentlich die API und P/Invoke direkt an die Win32-API. Diese Anrufe müssen wahrscheinlich geändert werden, um an Mono zu arbeiten.
Im Allgemeinen werden Winforms-Anwendungen mit Microsoft Visual Studio oder SharpDevelop geschrieben, die beide einen visuellen Designer zum Erstellen von Winforms-GUIs bereitstellen.
Plattformen: Windows, Unix, OSX
Pro:
Nachteile:
Quelle: Picking the Right Toolkit
Kurz gesagt: Ja
Beide sind GUI-Tookits, aber WinForms (wie der Name schon sagt) wurde in erster Linie für Windows entwickelt. GTK wurde für Gimp entwickelt und ist ein Ansatz für ein Multi-Betriebssystem-Toolkit.
Wenn Ihre Anwendung nur unter Windows läuft, sollten Sie in den meisten Fällen WinForms verwenden.
Wenn Ihre Anwendung unter verschiedenen Betriebssystemen läuft (wie Linux, BSD, Windows, MacOS, ...), werden Sie GTK bevorzugen.
Für eine bessere Erklärung schauen Sie here.
Sie sind verschiedene grafische Toolkits zum Erstellen von Fensteranwendungen mit unterschiedlichen Ursprüngen.
GTK # ist eine Bindung für die GTK-Bibliothek, in erster Linie für Linux/Unix gedacht. Es funktioniert auch unter Windows, aber es ist nicht die native Umgebung, für die es entworfen wurde.
Winforms ist ein weiteres Toolkit, das von Microsoft kommt.
Sie sind völlig verschiedene APIs für die Erzielung der gleichen Ergebnisse, aber jeweils besser für eine Plattform geeignet.
Wenn Sie nach Multiplattform-Fenstern in .net suchen, könnte Qt eine Option sein, da es jetzt LGPLed ist.
Sie sind beide GUI Toolkits, die jeweils ihre Stärken und Schwächen haben. Aus meiner Erfahrung:
Kurz gesagt, würde ich nicht empfehlen die Verwendung von WinForms (außer wenn es einen triftigen Grund nicht mehr Abhängigkeiten als .NET FW zu haben), aber unter Verwendung von Gtk # oder WPF.
Lustig, wie Sie plötzlich WPF erwähnen ganz am Ende Ihrer Antwort :) –
Die Frage war etwa Gtk # und SWF, WPF war off-topic :) –
Gibt es alles, was Sie zur Kompilierzeit tun müssen, damit es unter Windows und Linux funktioniert, oder Sie können einfach die Gtk # -Bibliotheken bündeln und es wird plattformübergreifend funktionieren? Außerdem ist das Programmiermodell schwer zu starten oder es ist meistens wie Winforms, aber mit einer anderen Benennung für Dinge (zum Beispiel gibt es ein Paint-Event)? Danke im Voraus. –