WinForms против GtkSharp с моно - PullRequest
22 голосов
/ 15 апреля 2009

При разработке с Mono для приложения, которое будет работать на Windows и Mac OSX (и, возможно, Linux), который вы бы предложили, WinForms или GtkSharp для графического интерфейса и почему ?

Конкретные примеры и истории успеха / ужасов будут высоко оценены.

Ответы [ 4 ]

16 голосов
/ 06 мая 2009

Кроссплатформенная разработка - это хорошая идея, но, если честно, я никогда не видел приложения, которое выглядит действительно хорошим вне его родной среды. Вот почему я думаю, что если вы действительно хотите предложить хороший пользовательский опыт, вы должны использовать нативные наборы инструментов на всех платформах, которые вы хотите поддерживать.

Конечно, если вы просто хотите проверить концепцию, то с WinForms на Mac (или Linux) все в порядке, но если вы хотите приложение, которое конкурирует с другим нативным решением, тогда вам действительно стоит подумать о написании отдельного нативного внешнего интерфейса для каждого. поддерживаемая платформа.

Хорошим примером того, как это было сделано, является MindManager из Mindjet . Их версия для Mac - это полное, с нуля, переписывание интерфейса. Результатом является приложение, которое дает пользователям Mac опыт, которого они научились ожидать на своей платформе.

Итак, вернемся к Моно. В Mono есть привязки . Лично я никогда не пробовал их использовать, но если вы хотите использовать Mac для своего приложения, их, безусловно, стоит посмотреть. Было бы здорово, если бы их можно было рассматривать как правильный выбор для разработки пользовательского интерфейса на Mac.

3 голосов
/ 15 апреля 2009

Принимая решение о том, следует ли использовать кроссплатформенную архитектуру, выберите требования к жесткому пользовательскому интерфейсу и не пропускайте изменения и время разработки. Использование платформы пользовательского интерфейса для конкретной платформы (почти) всегда даст вам лучший внешний вид и лучшие результаты, чем вы получите от кроссплатформенного.

0 голосов
/ 23 июля 2012

Какая платформа будет у большинства пользователей вашего приложения? Если большинство пользователей будут пользователями Windows, используйте Winforms, но если большинство пользователей будут пользователями Linux, используйте Gtk #. Я не знаю, какой из них лучше всего работает на OSX.

Прочтите также эту статью: http://www.mono -project.com / Gui_Toolkits

0 голосов
/ 15 апреля 2009

GtkSharp требуется X11 на Mac OS X. Пользователи Mac сочтут это неприятным. Я не пробовал Winforms на OS X, но поддержка winforms для Linux в mono была довольно незрелой (с ошибками) и медленной. Я не думаю, что на данный момент есть зрелый инструментарий .net GUI для OS X, по крайней мере, ничего на уровне Swing или SWT.

...