Создание кроссплатформенного приложения на C # / Winform - мне использовать AIR, Mono или что-то еще? - PullRequest
6 голосов
/ 16 сентября 2008

У меня есть приложение, которое я написал на C # / WinForms ( мое маленькое приложение ). Чтобы сделать его кроссплатформенным, я думаю переделать его в Adobe AIR. Есть ли аргументы в пользу WinForms как кроссплатформенного приложения? Есть ли кроссплатформенное будущее для Winforms (например, Mono и т. Д.)? Предложения по разработке кроссплатформенного интерфейса?

Под кроссплатформенностью я имею в виду Mac OSX, Windows и Linux.

Этот вопрос был задан снова и получен с большим успехом .

Ответы [ 9 ]

6 голосов
/ 16 сентября 2008

Что касается моего опыта в сценариях действий Flex / AIR / Flash, то среда разработки Adobe AIR и наборы инструментов кодирования / отладки на данный момент намного уступают Visual Studio и .NET SDK. Наборы инструментов пользовательского интерфейса превосходны.

Но так как у вас уже есть работающий код C # , для переноса его на ActionScript может потребоваться редизайн, поскольку в ActionScript используется другой способ мышления / программирования, они используют разные примитивные типы данных, например используйте только Number вместо int float double и т. д., и инструментов отладки по сравнению с VS IMO не хватает.

И я слышал, что GtkSharp Mono тихая приличная платформа.

Но если вы не возражаете против проблем с инструментами кодирования / отладки, то AIR - отличная платформа. Мне нравится, как Adobe интегрирует в него опыт Flash, например Вы можете начать установку приложения AIR с помощью нажатия кнопки во флэш-ролике, такого рода интеграция.

5 голосов
/ 22 декабря 2008

Я подумываю переделать его в Adobe AIR

Не проводя много времени с AIR, я лично считаю, что лучше всего перенести веб-приложение на рабочий стол и предоставить ему оболочку или запустить существующий проект flash / flex на рабочем столе.

Кстати, если вы не знаете ActionScript, я имею в виду его детали, причуды и т. Д., Не забывайте учитывать время, которое потребуется для поиска в Google.

Есть ли аргументы в пользу WinForms как кроссплатформенного приложения? Есть ли кроссплатформенное будущее для Winforms (например, Mono и т. Д.)?

Всегда трудно предсказать, что произойдет, но есть по крайней мере один проект (Plastic SCM), о котором я знаю, который использует Mono Winforms на Win, Mac и Linux, так что это, безусловно, выполнимо. Тем не менее, они говорят, что создали большую часть своих элементов управления с нуля (и утверждают, что хотят выпустить их как открытый исходный код, но не уверены, когда или когда), поэтому вам нужно будет приложить некоторые усилия, чтобы вещи выглядели «симпатичными» ,

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

Если вы решили, что настольное приложение не является лучшим способом предоставления кроссплатформенного решения, вы всегда можете взять свою бизнес-логику, написанную на C #, и создать либо полноценное веб-приложение с ASP.NET, либо перейти с Silverlight, поэтому с C # существует множество других опций.

3 голосов
/ 16 сентября 2008

Зачем тебе идти с воздухом?

Используйте GTK # , и у вас есть кроссплатформенный движок форм, и вы сможете сохранить свой код C #.

3 голосов
/ 16 сентября 2008

WinForms полностью поддерживаются Mono, поэтому они кроссплатформенные.

1 голос
/ 16 сентября 2008

Если вы хотите использовать .net Framework, Microsoft Silverlight является хорошим (единственным?) Выбором. Браузер хорошо работает как оболочка, но вы также можете написать для него собственную оболочку приложения. Например, Скотт Хэндельман упоминает читателя NY Times, написанного на Silverlight и размещенного на Какао на Mac.

1 голос
/ 16 сентября 2008

Ну, я думаю, что единственный надежный способ кросс-платформенности с C # - это Microsoft Silverlight , но на самом деле это не WinForms и не браузер. Кроме этого, да, Моно - это шанс.

0 голосов
/ 20 октября 2008

Я задавал похожий вопрос на прошлой неделе. Я использовал Mono все время, и у меня не было проблем с запуском приложений, которые я компилирую для IL, для запуска на SuSE linux (я обычно запускаю KDE) или Windows, однако я еще не вышел и не получил mac для тестирования. это на. Я буду скоро, хотя, вероятно, через пару недель. Но все и вся разработка в Mono была очень хороша в создании приложений, которые будут работать на нескольких платформах.

0 голосов
/ 20 октября 2008

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

0 голосов
/ 16 сентября 2008

Я не думаю, что у WinForms вообще есть будущее. Так как это, кажется, было решением проблемы остановки даже в мире MSFT (очень тонкая обертка вокруг Win32). И, по-видимому, в System.Windows.Forms практически не было внесено никаких изменений как в .NET 3.0, так и в 3,5

.
</speculation>

Я бы использовал Java или Air.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...