Кросс-платформенные приложения с WPF
Я думаю о разработке настольного приложения на C#. Хотя windows будет моей главной целью, позже я попробую запустить приложение в MacOS X и linux. Могу я сделать это сегодня, простым способом? Я знаю о проекте mono, но мне не ясно, могу ли я сделать это простым способом.
кроме того, какова связь между WPF и Silverlight? AFAIK Silverlight следует модели плагинов, как Flash или Java. Могу ли я разработать настольное приложение с Silverlight и развернуть его в windows, linux и os x без особых изменений?
любые указатели будут высоко оценены.
4 ответов
проект Mono еще не поддерживает .Net 3 и WPF, и это, вероятно, будет некоторое время, прежде чем это произойдет.
в Silverlight может быть достаточно для ваших нужд. Начиная с Silverlight 3.0 вы можете запускать Silverlight вне браузера, даже создавать ярлык для него на рабочем столе.
последнее, что я слышал, проект Mono не планирует реализовывать WPF, однако они работают над другими функциями .NET 3.5, особенно LINQ и ASP.NET MVC. Проблема с реализацией WPF в Mono (помимо размера и сложности API) заключается в том, что в Windows он использует DirectX для рендеринга, поэтому реализация для Mono должна использовать OpenGL. Определенно не тривиальное предприятие.
WPF используется для создания настольных приложений для только для Windows. В настоящее время другие платформы не поддерживаются. Если необходима кросс-платформенная поддержка, можно создать браузерное приложение и использовать Silverlight. Silverlight запускает приложения в браузере, поэтому вы не можете сделать "настольное" приложение с помощью этого.
Mono упорно работает, чтобы убедиться, что Silverlight работает на кросс-платформе (как упоминалось в одном из подкастов переполнения стека). Так что, кажется, это хороший путь.