#.net #user-interface #mono #cross-platform
#.net #пользовательский интерфейс #mono #кроссплатформенный
Вопрос:
Какой инструментарий является лучшим для .NET / Mono. Насколько я знаю, winforms или GTK # — не лучший выбор для кроссплатформенных приложений. Я хотел бы что-то, что можно распространять вместе с приложением, без какой-либо необходимости установки во время выполнения рядом с mono на POSIX.
Ответ №1:
Если вы собираетесь выбрать 1 инструментарий для использования на всех платформах, используйте Gtk #.
В противном случае используйте Gtk # для Linux, Windows.Forms для Windows и MonoMac для OSX.
Комментарии:
1. Проблема с GTK # для меня в том, что его необходимо установить в Windows. Создание единого пользовательского интерфейса для конкретной платформы на данный момент кажется единственным вариантом, но с учетом последних новостей о mono, возможно, я просто перейду к какой-нибудь другой технологии для кроссплатформенной разработки.
2. GTK # имеет распространяемый установщик для Windows и OSX, вы можете включить его в свой собственный установщик.
3. Из любопытства, почему не WPF в Windows?
4. …или WPF, если вы предпочитаете.
Ответ №2:
Есть Eto.Forms (на github), который представляет собой слой абстракции поверх WPF, WinForms, GTK и MonoMac / Cocoa — так что вы можете получить собственный пользовательский интерфейс на всех платформах без необходимости повторной реализации для каждой платформы. Вам не придется страдать от наименьшего общего знаменателя, поскольку вы можете реализовать специфику для каждой платформы (при желании, но не обязательно).
Его преимущество в том, что он чистый.NET и полагается только на зависимости, предоставляемые ОС, в отличие от использования GTK #, где вам пришлось бы объединять собственные двоичные файлы для различных платформ.