Я люблю программировать с помощью .NET, особенно C# 3.0, .NET 3.5 и WPF. Но что мне особенно нравится, так это то, что с Mono .NET действительно не зависит от платформы.
Теперь я услышал об Olive Project в моно. Я не мог найти какую-то бету.
Это уже работает? Есть ли у кого-нибудь из вас опыт работы с этим?
Обновлено: я знаю о Лунном свете. Но мне нужно отдельное приложение WPF. И из-за Moonlight надеюсь, что WPF на Linux станет правдой.





Я слышал подкаст, в котором брал интервью у Мигеля де Иказа (ведущего моно), возможно, несколько недель назад, так что это было, может быть, в середине декабря 2008 года, и он сказал, что у них пока нет поддержки WPF.
От Olive домашняя страница:
Olive is unsupported, should be considered as experimental software, and since it implements a shifting API there are no guarantees of any kind about the stability of the API.
Сомневаюсь, что кто-то использовал бы это в реальном проекте.
Вам больше повезет с Moonlight, который нацелен на Silverlight API, который является подмножеством полного WPF.
edit: Конечно, Silverlight не «предназначен» для настольных ПК, но нет причин, по которым вы не можете встроить движок Silverlight в свое приложение. Это было сделано раньше, например для читатель Mac NY Times
больше редактирования: см. сообщение Мигеля на Автономные приложения Silverlight
Есть MoonLightDesktop, и мне интересно, можно ли его использовать для этой цели.
At this point, the Mono project does not have plans to implement Windows Presentation Foundation APIs as part of the project.
Moonlight - это реализация silverlight, которая представляет собой браузерную флеш-технологию, основанную на подмножестве WPF.
На мой взгляд, отказ от реализации WPF - самая большая ошибка. Поскольку WPF быстро становится выбором по умолчанию для новых пользовательских интерфейсов .net. См. Этот блог для получения дополнительной информации.
«Поскольку WPF быстро становится выбором по умолчанию для новых пользовательских интерфейсов .net». - Мне этот комментарий кажется интересным, прошло более двух лет с момента выхода WPF, и я еще не нашел ничего, что его использует. У вас есть ссылки на то, что я мог бы проверить? Спасибо!
Visual Studio 2010 будет построен с использованием WPF, поверхность Microsoft использует WPF.
также новый живой мессенджер
PB12 будет создавать приложения WPF, запланированные на следующий год.
Moonlight отображается как WPF "в автономном режиме" (возможности вне браузера и поддержка в автономном режиме). Но все еще в дорожной карте (mono-project.com/MoonlightRoadmap)
Это старый вопрос, который все еще актуален. Поскольку Mono принадлежит MS, есть ли какие-либо изменения в планах и будущем WPF-for-Mono?
Mono по сути отказалась от пользовательского интерфейса рабочего стола Linux. Это неудивительно, учитывая уровень ненависти к моно-сообществу, которое пришло из сообщества Linux. MonoDevelop / Xamarin Studio по-прежнему использует GTK2, он никогда не перемещался в GTK3. GTK # 3 так и не был завершен. Нет обновленных / пригодных для использования привязок QT. Интерес Microsoft к моно связан с Android / IOS. Похоже, их совсем не интересует рабочий стол Linux. И когда дело доходит до сервера Linux, они продвигают ядро .net, а не моно.
Обновлять: Поскольку люди продолжают голосовать за это, я хочу указать, что это длинный, поскольку оно устарело. Mono была приобретена MS несколько лет назад, и их позиция в отношении открытого исходного кода изменилась, поэтому считайте этот пост устаревшим. (Устаревшая, как и сама платформа WPF, хех).
Mono находится в некотором неудобном положении, когда дело касается API-интерфейсов Microsoft, таких как Winforms и WPF. Подмножество технологии .Net является стандартом ECMA, но бесплатные реализации этих API, вероятно, имеют более шаткую юридическую основу. Я считаю, что это было важным фактором в соглашении между Novell и Microsoft, что хорошо для клиентов Novell. Но люди, использующие Mono и не являющиеся клиентами Novell, не защищены. По этой причине многие люди в сообществе F / OSS косо смотрят на Mono, несмотря на его технические достоинства.
По этой причине Gtk # всегда будет предпочтительнее, поскольку он действительно бесплатный. Многие люди в любом случае считают его лучше Winforms. Что касается WPF, то для Novell он почти наверняка будет второстепенным. Они могут реализовать это в конечном итоге, но я ожидаю, что Moonlight будет самым близким из возможных в обозримом будущем.
После публикации этого соглашения Microsoft расширила свой договор на любой, кто реализует стандарты ECMA 334 и 335.
GTK и Qt. Есть много споров о том, что лучше и почему.
Существует библиотека под названием Silverform SDK, цель которой - обеспечить кроссплатформенную реализацию WPF и Silverlight.
Библиотека реализована в управляемом коде и в настоящее время работает с OpenTK и Unity3D как серверы рендеринга. Основные функции, такие как привязка, макет, основные элементы управления и примитивы, уже реализованы (проверьте демонстрации веб-плеера Unity здесь). Первоначально он был ориентирован на рендеринг Unity3d, а поддержка автономных приложений Mono будет добавлена как отдельная сборка в будущем.
Отказ от ответственности: я один из разработчиков библиотеки.
Похоже, этот проект больше не активен, и домен выставлен на продажу.
Если вы отметите Известные ошибки эта ссылка (также включает шаги, необходимые для установки .NET на Ubuntu) или это, вы можете обнаружить, что некоторая (возможно, содержащая ошибки) версия WPF работает на Wine на данный момент. На данный момент я не нашел какого-либо определенного теста, но стоит попробовать запустить WPF «Hello world».
ОБНОВЛЕНИЕ2:
Я использовал последнюю версию IlSpy на последней версии Wine для Ubuntu 16.04. С 32-битной версией dotnet45 и corefonts, установленной через winetricks, с совместимостью с Windows 7.
За это время вылетов нет и все работает нормально. Шрифты выглядят действительно хорошо.
IlSpy отображается через WPF и для человека, которому loves programming with .NET является важным инструментом - декомпилятором.
Я скачал последнюю портативную версию SharpDevelop (сборку с использованием WPF) без каких-либо дополнительных затрат. Это началось. Не удалось создать проект WPF. Создал WinForms. После открытия некоторых файлов cs и выявления некоторых сбоев, попытался ввести - и он разбился.
ОБНОВИТЬ
Я выполнил шаги и получил последнюю версию ILSpy.exe, работающую на Ubuntu 14.4.

Следующие элементы на заметку:
Wine заявил, что dotnet40 не поддерживается 64-битной конфигурацией, измененной на 32-битную
шрифты уродливые, но читабельные
базовый функционал работает нормально - я вижу декомпилированный код - этого достаточно для некоторой разработки, но «Просмотр» -> «Поиск и просмотр» -> «Параметры» -> «Сбой отображения».
Заключение:
WPF в Linux возможен. Но нужен какой-то способ решения проблем.
Это первый реальный ответ, который я нашел. Это является возможно. Спасибо.
Да, можно использовать NoesisGUI для реализации мультиплатформенного XAML в реальном времени. В Linux уже выпущено несколько игр, использующих эту технологию, например Пустота.
Раскрытие: Я один из разработчиков этого продукта.
К сожалению, это касается только небольшого, но широко используемого подмножества WPF. В частности, XAML. Тем не менее, если кому-то понадобится XAML-решение с коммерческой поддержкой, это выглядит очень хорошим выбором.
Просто загрузил NoesisGUI с помощью VS для Mac и ваших примеров с ваших форумов, но даже пример HelloWorld вылетает при запуске с исключением нулевого указателя. Вы тестировали его с последней установкой Mojave? Был очень взволнован по этому поводу, но это убило меня.
Да, мы всегда проводим тестирование с новейшими операционными системами (включая Mojave). Не могли бы вы открыть тему на нашем форуме (forum.noesisengine.com). Список клиентов, использующих NoesisGUI в Linux или Mac, огромен.
Теоретически урезанную версию WPF МОЖНО скомпилировать с WinPR или LibWine для работы в Linux.
В настоящее время такой настройки нет, поэтому кто-то должен ее сделать. Надеюсь, это скоро изменится.
Что касается работы с полной средой Wine или в ней, я думаю, что это серьезный перебор и приведет к слишком большому раздутию, чтобы заставить работать очень небольшое количество дополнительных программ.
Moonlight теперь доступен до Silverlight 1.0. И у них есть отличный установщик (есть видео об установке Linux Moonlight, может быть, в блоге Тима Хойера).