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

Можем ли мы запустить приложение С#/WPF в Mac OS X?

Я продаю приложение С#/WPF (таргетинг .net 3.0 на данный момент), и люди продолжают спрашивать меня о версии для Mac.

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

У меня нет ресурсов для перезаписи приложения или поддержки двух разных кодовых баз, поэтому мне нужен способ запускать тот же код на Mac (я знаю, что мне придется отлаживать и изменять код, что я я имею в виду, что я могу поддерживать только одну базу кода, я не могу разделить проект на разные проекты Mac и Windows - у меня просто нет времени для работы над двумя проектами).

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

Кто-нибудь знает инструмент, который может запускать или переносить С#/WPF на Mac?

4b9b3361

Ответ 1

Нет абсолютно никакого способа запустить полноценное приложение WPF на Mac. Я даже не уверен, что это возможно в Parallels. Лучшее, что вы можете сделать, это использовать Silverlight, который ранее был назван "WPF/E" и запускается на Macintosh.

Ответ 2

Мы были в аналогичной ситуации. У нас был рабочий проект Windows, и нам нужна версия для Mac.

Наш продукт состоит из двух частей: одного приложения .Net, другого приложения проектора Director.

Приложение Director должно быть простым, кроссплатформенным и всем? Ну, нет, это редко бывает так просто, мы закончили с двумя версиями исходного файла Director.

Получение приложения .Net, требуемое с помощью Mono для базового движка, которое хорошо сработало для нас, так как мы только набирали количество массивов байтов. Пользовательский интерфейс, с другой стороны, нам пришлось переписать в Cocoa. Это стоило нам почти столько же, сколько сделала версия Windows, так как нам также пришлось изучить все материалы Mac, когда мы пошли.

С тех пор мы только обновили версию Windows.

Ответ 3

У нас была аналогичная проблема. Мы написали версию Mac в Silverlight 3 (которая поддерживает довольно много компонентов WPF.NET). Это была песочница, но если это не проблема, вы можете сделать несколько приятных вещей. Наша кодовая база теперь находится в WPF и Silverlight 3 и такая же, когда мы ее компилируем, она создает приложения SL3 и Desktop.

Ответ 4

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

Помимо самого базового (родного).NET-материала с моно, я не думаю, что вы можете запускать приложение WPF изначально на MacOSX.

Если вы думаете, что можете заработать больше денег, набрав пользователей Mac. Вы можете использовать другие методы презентации. Из-за ваших текущих "инвестиций", я бы сказал, попробуйте Silverlight (да, я читал ваши разглагольствования о том, чтобы не делать этого). Другим вариантом может быть Adobe AIR/Flex.

Если вы переносите приложение таким образом. Вы можете поддерживать единую базу кода, которая работает на обеих платформах.

Если вы хотите потратить больше времени на новые функции в текущей кодовой базе: игнорировать пользователей Mac.

Ответ 5

Вы можете использовать Parallels. У меня есть офисное программное обеспечение, написанное на С# и WPF, и люди используют его на Mac под Parallels все время.

В качестве дополнительного примечания Parallels позволяет запускать приложения Windows рядом с приложениями Mac OSX, видимыми в их собственном окне на рабочем столе Mac. Он также позволяет копировать и вставлять и перетаскивать между приложениями Mac и Windows.

Ответ 6

Вы можете попробовать Nevron Open Vision. Он интегрируется в проекты WPF, WinForms, Silverlight и MonoMac, Xamarin.Mac. Это не похоже на запуск WPF-приложения на Mac, но скорее потребует, чтобы вы перекодировали свое приложение на платформе NOV. Однако как только вы это сделаете, ваше приложение (или модули) будет работать на всех этих платформах с одной базы кода. Хорошим примером такого подхода является Nevron Writer (часть Nevron Office). Он работает на Windows, Silverlight и Mac с 100% -ной базы кода.

[Раскрытие: я работаю для невронов]

Ответ 7

Это невозможно. Но поскольку ваш пользовательский интерфейс находится в WPF, вы можете преобразовать XAML во что-то другое - например, GTK #. Конечно, если вы похожи на меня и используете множество функций .NET 3.5, это не поможет вам.

Еще одна причина для того, чтобы ваш пользовательский интерфейс был простым, упрощенным XML-интерфейсом.

Ответ 8

Другое коммерческое решение - NoesisGUI (бесплатно для валового годового дохода <100K). Это кроссплатформенная инфраструктура пользовательского интерфейса, основанная на WPF/XAML. Есть руководство по миграции с WPF.

Ответ 9

Собственно, для вас есть CrossOver. Другие люди, которые отвечают на просмотр с точки программиста. Если бы я был вами, я установил CrossOver и установил .NET 3.5 внутри CrossOver и с радостью запустил программное обеспечение WPF.

http://www.codeweavers.com/products/cxmac/

или если вы предпочитаете бесплатное (но более сложное) решение, попробуйте вино.

http://davidbaumgold.com/tutorials/wine-mac/