2009-08-04 17 views
8

Estoy pensando en desarrollar una aplicación de escritorio en C#. Aunque Windows será mi objetivo principal, más adelante intentaré ejecutar la aplicación en MacOS X y Linux. ¿Puedo hacer esto hoy, de una manera simple? Conozco el proyecto mono, pero no tengo claro si puedo hacerlo de una manera sencilla.Aplicaciones multiplataforma con WPF

Además, ¿cuál es la relación entre WPF y Silverlight? AFAIK Silverlight sigue un modelo de complemento muy similar a Flash o Java. ¿Puedo desarrollar mi aplicación de escritorio con Silverlight y desplegarla en Windows, Linux y os x sin demasiados cambios?

Cualquier punteros será apreciado considerablemente.

+0

Silverlight en realidad no tiene mucho en común con WPF. WPF es un marco para crear aplicaciones de escritorio, Silverlight es un complemento de navegador, muy parecido a Flash. Las aplicaciones de Silverlight se pueden ejecutar en Windows y Mac OS X de forma nativa, y a través del proyecto Moon de Moon en Linux. –

+4

"Silverlight en realidad no tiene mucho en común con WPF": no diría eso ... ¡tienen mucho en común! el lenguaje XAML, el modelo DependencyObject, la mayoría de los controles ... Hay algunas funciones de WPF que no están disponibles en Silverlight, y algunas características de Silverlight no disponibles en WPF, pero la brecha es cada vez menor con la última versión de ambos productos –

+0

Thomas tiene razón. Además, Microsoft apunta explícitamente a * converger * los marcos de WPF/Silverlight para que, con el tiempo, sean prácticamente totalmente interpalets. – Noldorin

Respuesta

7

proyecto El Mono no soporta .Net 3 y WPF sin embargo, y es probable que pasado algún tiempo antes de que suceda.

Silverlight podría ser suficiente para sus necesidades. A partir de Silverlight 3.0 puede ejecutar Silverlight fuera del navegador, incluso puede crear un acceso directo en el escritorio.

+2

NB: Moonlight actualmente solo es compatible de forma estable con Silverlight 1.0, y solo tiene una versión pre-alfa de 2.0. – supercheetah

+0

Así que no puedo implementar Silverlight 3 aplicaciones en Linux, ¿verdad? –

+1

Mono admite una cantidad de capacidades .net 3.x, pero no WPF. – kenny

1

WPF se utiliza para construir aplicaciones de escritorio para sólo Windows. Actualmente no se admiten otras plataformas. Si el soporte multiplataforma es imprescindible, puede crear una aplicación basada en navegador y usar Silverlight. Sin embargo, Silverlight ejecuta aplicaciones en el navegador, por lo que no puede hacer que una aplicación de "escritorio" lo use.

+1

Puede realizar aplicaciones que se ejecutan fuera del navegador con Silverlight 3. Sin embargo, todavía están limitadas por el entorno limitado de Silverlight. –

1

Mono está trabajando duro para asegurarse de que Silverlight se ejecuta multiplataforma (como se menciona en uno de los podcasts de desbordamiento de pila). Entonces parece ser una buena forma de hacerlo.

2

Lo último que supe, el proyecto Mono no tiene planes de implementar WPF, sin embargo se está trabajando en otros .NET 3.5 características, especialmente LINQ y ASP.NET MVC. El problema con la implementación de WPF en Mono (más allá del tamaño y la complejidad de la API) es que en Windows usa DirectX para el procesamiento, por lo que una implementación para Mono necesitaría usar OpenGL. Definitivamente no es una tarea trivial.

Cuestiones relacionadas