2015-09-27 2 views
7

Я пишу универсальное приложение, используя окна 10, визуальную студию 2015 и C#. Я хотел бы запустить это приложение на Windows, Linux и Mac. Я знаю, что mono не реализует инфраструктуру представления Windows, поэтому, если я пишу приложение wpf, он запускает onluy на окнах. Теперь, если я пишу универсальное приложение, может ли это запустить? Если да, как я могу это сделать?Может ли Mono запускать универсальные приложения Windows?

ответ

10

Святой Грааль .Net UI вопрос :-)

TL; TR = Ответ No.

Универсальные платформы Windows (UWP) основные API (также известный как среды выполнения Windows/WinRT) и полученный APPX основанные на приложениях, ориентированы только на платформы Windows 10 (телефон, ПК, планшет ...), поскольку эти API и среда выполнения не существуют на других рабочих столах.

Используя Xamarin/Mono, вы можете повторно использовать часть логики уровня «бизнес» уровня C#, но уровень представления и логику графического интерфейса нужно будет переписать с помощью другого графического интерфейса (собственные виджеты, GTK #, QTSharp, HTML/CSS/NodeJs и т. Д.). Используется та же модель, что и люди, использующие мобильную разработку на основе Xamarin для C#, делиться своей логикой приложений C# на разных платформах и использовать Xamarin.Mac для создания собственного пользовательского интерфейса OS-X и/или создания пользовательского интерфейса с использованием GTK #, встраивания времени выполнения приложения логика в оболочку Electron/Blink и т. д.

В настоящее время проект Windows 10 для Apache Cordova, который представляет собой HTML, JavaScript и CSS, предназначен только для мобильных (WinPhone, iOS, Android) и Windows 10 ПК/планшетных платформ. Это не означает, что кто-то не мог разработать новую цель Cordova, чтобы включить поддержку диспетчера рабочего стола OS-X и Linux (но я не знаю ни одного из них, которые еще не застопорились): -/

Даже визуализация на базе xplat от Microsoft Код Studio для Linux и OS-X использует Electron (на основе Chromium) для развертывания приложения на основе io.js вместе с механизмом компоновки Blink для визуализации пользовательского интерфейса, который выполняется в формате HTML/CSS/JS.

Смежные вопросы