Возможен ли (уже) WPF в Linux?

Я люблю программировать с помощью .NET, особенно C# 3.0, .NET 3.5 и WPF. Но что мне особенно нравится, так это то, что с Mono .NET действительно не зависит от платформы.

Теперь я услышал об Olive Project в моно. Я не мог найти какую-то бету.

Это уже работает? Есть ли у кого-нибудь из вас опыт работы с этим?

Обновлено: я знаю о Лунном свете. Но мне нужно отдельное приложение WPF. И из-за Moonlight надеюсь, что WPF на Linux станет правдой.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
44
0
44 722
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

Я слышал подкаст, в котором брал интервью у Мигеля де Иказа (ведущего моно), возможно, несколько недель назад, так что это было, может быть, в середине декабря 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

Moonlight теперь доступен до Silverlight 1.0. И у них есть отличный установщик (есть видео об установке Linux Moonlight, может быть, в блоге Тима Хойера).

jcollum 07.01.2009 22:52

Есть MoonLightDesktop, и мне интересно, можно ли его использовать для этой цели.

ATL_DEV 08.03.2013 19:27

С моно сайт

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, и я еще не нашел ничего, что его использует. У вас есть ссылки на то, что я мог бы проверить? Спасибо!

jpobst 08.01.2009 02:24

Visual Studio 2010 будет построен с использованием WPF, поверхность Microsoft использует WPF.

trampster 08.01.2009 23:35

также новый живой мессенджер

Jab 10.01.2009 00:01

PB12 будет создавать приложения WPF, запланированные на следующий год.

AndersK 31.07.2009 12:25

Moonlight отображается как WPF "в автономном режиме" (возможности вне браузера и поддержка в автономном режиме). Но все еще в дорожной карте (mono-project.com/MoonlightRoadmap)

Luca 20.04.2010 23:53

Это старый вопрос, который все еще актуален. Поскольку Mono принадлежит MS, есть ли какие-либо изменения в планах и будущем WPF-for-Mono?

i486 10.02.2018 21:56

Mono по сути отказалась от пользовательского интерфейса рабочего стола Linux. Это неудивительно, учитывая уровень ненависти к моно-сообществу, которое пришло из сообщества Linux. MonoDevelop / Xamarin Studio по-прежнему использует GTK2, он никогда не перемещался в GTK3. GTK # 3 так и не был завершен. Нет обновленных / пригодных для использования привязок QT. Интерес Microsoft к моно связан с Android / IOS. Похоже, их совсем не интересует рабочий стол Linux. И когда дело доходит до сервера Linux, они продвигают ядро ​​.net, а не моно.

trampster 12.02.2018 03:09

Обновлять: Поскольку люди продолжают голосовать за это, я хочу указать, что это длинный, поскольку оно устарело. 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. Есть много споров о том, что лучше и почему.

Cestarian 02.11.2018 01:00

Существует библиотека под названием Silverform SDK, цель которой - обеспечить кроссплатформенную реализацию WPF и Silverlight.

Библиотека реализована в управляемом коде и в настоящее время работает с OpenTK и Unity3D как серверы рендеринга. Основные функции, такие как привязка, макет, основные элементы управления и примитивы, уже реализованы (проверьте демонстрации веб-плеера Unity здесь). Первоначально он был ориентирован на рендеринг Unity3d, а поддержка автономных приложений Mono будет добавлена ​​как отдельная сборка в будущем.

Отказ от ответственности: я один из разработчиков библиотеки.

Похоже, этот проект больше не активен, и домен выставлен на продажу.

Elkvis 18.11.2014 16:23

Если вы отметите Известные ошибки эта ссылка (также включает шаги, необходимые для установки .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 via Wine on Ubuntu

ОБНОВИТЬ

Я выполнил шаги и получил последнюю версию ILSpy.exe, работающую на Ubuntu 14.4.

Следующие элементы на заметку:

  1. Wine заявил, что dotnet40 не поддерживается 64-битной конфигурацией, измененной на 32-битную

  2. шрифты уродливые, но читабельные

  3. базовый функционал работает нормально - я вижу декомпилированный код - этого достаточно для некоторой разработки, но «Просмотр» -> «Поиск и просмотр» -> «Параметры» -> «Сбой отображения».

Заключение:

WPF в Linux возможен. Но нужен какой-то способ решения проблем.

Это первый реальный ответ, который я нашел. Это является возможно. Спасибо.

Paul 05.04.2019 11:25

Да, можно использовать NoesisGUI для реализации мультиплатформенного XAML в реальном времени. В Linux уже выпущено несколько игр, использующих эту технологию, например Пустота.

Раскрытие: Я один из разработчиков этого продукта.

К сожалению, это касается только небольшого, но широко используемого подмножества WPF. В частности, XAML. Тем не менее, если кому-то понадобится XAML-решение с коммерческой поддержкой, это выглядит очень хорошим выбором.

Robert Wm Ruedisueli 03.07.2019 04:49

Просто загрузил NoesisGUI с помощью VS для Mac и ваших примеров с ваших форумов, но даже пример HelloWorld вылетает при запуске с исключением нулевого указателя. Вы тестировали его с последней установкой Mojave? Был очень взволнован по этому поводу, но это убило меня.

Mark A. Donohoe 21.08.2019 18:40

Да, мы всегда проводим тестирование с новейшими операционными системами (включая Mojave). Не могли бы вы открыть тему на нашем форуме (forum.noesisengine.com). Список клиентов, использующих NoesisGUI в Linux или Mac, огромен.

jsantos 23.08.2019 18:35

Теоретически урезанную версию WPF МОЖНО скомпилировать с WinPR или LibWine для работы в Linux.

В настоящее время такой настройки нет, поэтому кто-то должен ее сделать. Надеюсь, это скоро изменится.

Что касается работы с полной средой Wine или в ней, я думаю, что это серьезный перебор и приведет к слишком большому раздутию, чтобы заставить работать очень небольшое количество дополнительных программ.

Другие вопросы по теме