Подтвердить что ты не робот

WinForms против GtkSharp с Mono

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

Было бы очень полезно оценить конкретные примеры и истории успеха/ужаса.

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

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