8
votes

Applications de plateformes croisées avec WPF

Je pense au développement d'une application de bureau en C #. Bien que Windows soit ma cible principale, plus tard, je vais essayer d'exécuter l'application dans MacOS X et Linux. Puis-je faire cela aujourd'hui, de manière simple? Je suis au courant du projet mono, mais ce n'est pas clair pour moi si je peux le faire de manière simple.

Aussi, quelle est la relation entre WPF et Silverlight? Afaik Silverlight suit un modèle de plug-in un peu comme Flash ou Java. Puis-je développer mon application de bureau avec Silverlight et le déployer sous Windows, Linux et OS X sans de nombreux changements?

Tous les pointeurs seront grandement appréciés.


3 commentaires

Silverlight n'a pas vraiment beaucoup en commun avec WPF. WPF est un cadre pour les applications de Building Desktop, Silverlight est un plugin de navigateur, un peu comme Flash. Les applications Silverlight peuvent être exécutées sur Windows et Mac OS X Nativement et via le projet de lune de Mono sous Linux.


"Silverlight n'a pas vraiment beaucoup en commun avec WPF": je ne dirais pas ça ... ils ont beaucoup en commun! Le langage XAML, le modèle de dépendanceObject, la plupart des commandes ... Il existe quelques fonctionnalités WPF qui ne sont pas disponibles en Silverlight et quelques fonctionnalités Silverlight non disponibles dans WPF, mais l'écart devient plus petit avec la dernière version des deux produits.


Thomas a raison. De plus, Microsoft vise explicitement à converger les cadres WPF / Silverlight, de sorte qu'à temps ils seront pratiquement entièrement interopérables.


4 Réponses :


1
votes

WPF est utilisé pour construire des applications de bureau pour Windows uniquement . Actuellement, aucune autre plate-forme n'est prise en charge. Si le support croisé est un must, vous pouvez créer une application basée sur le navigateur et utiliser Silverlight. Silverlight exécute des applications dans le navigateur, cependant, vous ne pouvez donc pas créer une application "Desktop" à l'aide de celle-là.


1 commentaires

Vous pouvez faire des applications qui fonctionnent en dehors du navigateur avec Silverlight 3. Cependant, elles sont toujours limitées par Silverlight Sandbox.



7
votes

Le projet mono ne prend pas en charge .NET 3 et WPF encore, et cela aura probablement été un peu de temps avant cela se produise.

Silverlight pourrait être suffisant pour vos besoins. À partir de Silverlight 3.0, vous pouvez exécuter Silverlight en dehors du navigateur, même créer un raccourci sur le bureau.


3 commentaires

NB: Moonlight ne prend actuellement que sincèrement Silverlight 1.0 et n'a qu'une version pré-alpha de 2,0.


Mono prend en charge un certain nombre de capacités .NET 3.X, mais pas du WPF.


Comme le dit Supercheetah, le monoproject (Moonlight) ne prend en charge que SL 1.0 et partiellement SL 2.0. Mais si vous avez besoin de gagner SL en dehors du navigateur, ils ne peuvent s'exécuter que sur Mac et Windows. Si vous avez vraiment besoin de prendre en charge Linux, vous devrez peut-être examiner d'autres technologies, telles que Adobe Air ou Java Applet.



1
votes

Mono travaille dur pour s'assurer que Silverlight exécute la plate-forme transversale (comme mentionné sur l'une des podcasts de trop-plein de pile). Donc, cela semble être un bon moyen d'aller.


0 commentaires

2
votes

Derniers j'ai entendu, le projet Mono n'a aucun projet de mettre en œuvre WPF, mais ils travaillent sur d'autres fonctionnalités .NET 3.5, notamment LINQ et ASP.NET MVC. Le problème de la mise en œuvre du WPF en mono (au-delà de la taille et de la complexité de l'API) est que sur Windows il utilise DirectX pour le rendu. Une implémentation de Mono devra donc utiliser OpenGL. Certainement pas une entreprise triviale.


0 commentaires