Я пишу небольшое кроссплатформенное приложение в .Net.Первоначально я написал это на Windows с пользовательским интерфейсом WinForms.Когда я перенес его на моно, я обнаружил, что пользовательский интерфейс действительно страдает в Linux.В попытке улучшить интерфейс Linux я переписал его в GTK #.Приятно иметь дизайнера, но GTK # - ужасная среда пользовательского интерфейса, если исходить из WinForms (не говоря уже о WPF).Тот факт, что он основан на C-фреймворке, на самом деле показывает.Многие вещи показывают свои процедурные корни, и это не очень ориентировано на .Net.Ни один из элементов управления не понимает компоненты .Net Framework.Так, например, вы не можете привязать DataTable к элементу управления GTK grid.Кроме того, документация очень плохая.
Поскольку я использую KDE в Linux, я давно изучаю Qyoto.Недавно я получил приложение, загружающее интерфейс Qt.Я разработал его с помощью Qt Designer и конвертировал файл .ui в C # с помощью инструмента uics.Этот дополнительный шаг причиняет боль тому, кто привык к Visual Studio.Кроме того, Qyoto также не интегрируется с .Net.Например, механизм сигнала / слота QT отделен от системы событий / обработчиков событий .Net.И снова болты и провода просвечивают.
Эти и некоторые другие факторы заставили меня отказаться от разработки .Net для Linux с графическим интерфейсом.Опять же, поскольку я использую KDE, я буду придерживаться Qt.Мое решение сейчас между Python и C ++.Python отлично подходит для RAD, но я действительно ищу отличную IDE, и это подталкивает меня к C ++ (Qt Creator).