2009-04-15 16 views
22

Bei der Entwicklung mit Mono für eine Anwendung unter Windows und Mac OSX (und vielleicht Linux), die Sie vorschlagen, WinForms oder GtkSharp für die GUI und warum?WinForms vs GtkSharp mit Mono

Spezifische Beispiele und Erfolg/Horror Geschichten würden sehr geschätzt werden.

+0

+1 für das Beharren auf dem Warum. –

Antwort

16

Cross-Plattform-Entwicklung ist eine nette Idee, aber um ganz ehrlich zu sein, ich habe noch nie eine Anwendung gesehen, die wirklich gut außerhalb seiner nativen Umgebung aussieht. Aus diesem Grund denke ich, dass Sie, wenn Sie wirklich gute Benutzererfahrung bieten möchten, native Toolkits auf allen Plattformen verwenden sollten, die Sie unterstützen möchten.

Natürlich, wenn Sie nur eine Proof of Concept wollen, dann WinForms auf einem Mac (oder Linux) sind in Ordnung, aber wenn Sie eine Anwendung wollen, die konkurriert mit anderen nativen Lösung dann sollten Sie wirklich überlegen, ein eigenes natives Frontend zu schreiben jede unterstützte Plattform. Ein gutes Beispiel wie das gemacht wurde ist MindManager von Mindjet. Ihre Mac-Version ist ein vollständiges, von Grund auf neu geschriebenes Interface. Das Ergebnis ist eine Anwendung, die Mac-Benutzern die Erfahrung bietet, die sie auf ihrer Plattform zu erwarten gelernt haben.

Also zurück zu Mono. Es gibt Cocoa bindings in Mono. Persönlich habe ich nie versucht, sie zu verwenden, aber wenn Sie Macs mit Ihrer Anwendung zielen wollen, sind sie sicherlich einen Blick wert. Es wäre wirklich großartig, wenn sie als eine gültige Wahl für die UI-Entwicklung auf einem Mac angesehen werden könnten.

3

Wenn Sie entscheiden, ob Sie eine plattformübergreifende Architektur verwenden möchten oder nicht, erfüllen Sie Ihre Anforderungen an eine enge Benutzeroberfläche mit Agilität gegenüber Änderungs- und Entwicklungszeiten. Durch die Verwendung eines plattformspezifischen UI-Frameworks erhalten Sie (fast) immer bessere Ergebnisse und bessere Ergebnisse als bei einem plattformübergreifenden.

0

GtkSharp erfordert X11 unter Mac OS X. Mac-Benutzer werden das ablehnend finden. Ich habe Winforms unter OS X nicht ausprobiert, aber die Linux Winforms-Unterstützung von Monos war ziemlich unreif (fehlerhaft) und langsam. Ich denke nicht, dass es zu diesem Zeitpunkt ein ausgereiftes .net GUI Toolkit für OS X gibt, zumindest nichts auf der Ebene von Swing oder SWT.

+1

Eigentlich braucht http://en.wikipedia.org/wiki/Gtk_Sharp GtkSharp nicht mehr X11 auf OSX als Mono 1.9 –

+0

Ja, du hast recht, ich habe es gerade ausprobiert und es startet den X-Server nicht . Sowohl GTK # als auch Winforms benötigen X11 unter Mac OS X, und es hat kein natives Aussehen. – karunski

+1

Das stimmt nicht. WinForms auf Linux funktionieren großartig ... wenn Sie wissen, wie man gegen sie arbeitet – pablo

0

Welche Plattform haben die meisten Nutzer Ihrer App? Wenn die meisten Benutzer Windows-Benutzer sein werden, verwenden Sie Winforms, aber wenn die meisten Benutzer Linux-Benutzer sind, verwenden Sie Gtk #. Ich würde nicht wissen, welches am besten auf OSX funktioniert.

diesen Artikel Lesen Sie auch: http://www.mono-project.com/Gui_Toolkits