2010-06-06 3 views
8

Ich freue mich darauf, eine WPF MVVC-Anwendung zu entwickeln, die unter Windows mit .Net Framework und Mac/Linux mit Mono ausgeführt werden soll.Kann ich mit Moonlight eine eigenständige Anwendung erstellen (nicht im Browser ausgeführt werden, die volle Vertrauenswürdigkeit hat)?

Soweit ich verstehe, ist der einzige Teil von WPF in Mono implementiert Silverlight als Moonlight.

Soweit ich gelesen habe, ist es möglich, eine eigenständige Anwendung mit Silverlight 3 zu entwickeln, aber ist das mit Moonlight 2 möglich?

+1

Scheint wie niemand außer Moonlight-Entwicklern weiß. Wahrscheinlich musst du ins Mondlichtforum gehen und dort die Frage stellen. –

+0

Silverlight/Moonlight sind nicht WPF, sie verwenden XAML. Auch der Mac ist eine unterstützte Silverlight-Plattform, sodass Sie Moonlight dort nicht verwenden müssen. – automatic

Antwort

1

Was Sie beschreiben, klingt möglich. Moonlight 2 verfügt Berichten zufolge über eine Out-of-Browser-Fähigkeit.

Es gibt viel in WPF, das weder in Silverlight noch in Moonlight verfügbar ist. Ihre WPF-Implementierung muss die Benutzeroberflächenelemente vermeiden, die in Silverlight/Moonlight nicht verfügbar sind.

Microsoft hat einige Arbeiten im Bereich der Erstellung von Anwendungen ausgeführt, die auf WPF und Silverlight mehrfach ausgerichtet werden können. Ihre Prism-Bibliothek unterstützt dies. Die Probleme, denen Sie gegenüberstehen, sollten ähnlich sein.

Wenn Ihre Anwendung in der Silverlight-Out-of-Browser-Sandbox ausgeführt werden kann, ist es möglicherweise einfacher, Silverlight unter Windows und Moonlight unter Linux/OSX zu targetieren. Wenn nicht, müssen Sie sicherstellen, dass der Zugriff auf die benötigten Ressourcen von Moonlight auf den Linux/OSX-Plattformen zur Verfügung steht.

+0

Ich denke, dass Silverlight auf OSX ziemlich gut unterstützt wird, aber ich bin mir nicht sicher, ob Silverlight außer OS X-Browser verfügbar ist. Das wäre schön zu wissen. – kenny

2

Moonlight unterstützt Out-of-Browser, aber mit Einschränkungen: Dies ist derzeit ein manueller Prozess, noch nicht automatisiert und ohne GUI (c) Miguel de Icaza. Aber ich denke, Moonlight als eigenständige GUI-Anwendung ist nicht sehr gute Idee. Denn vor allem ist es clientseitige Technologie für Websites mit vielen strengen Einschränkungen. Es wird also unmöglich sein, mit Standalone Moonlight etwas ernsthaftes zu tun (wie den Zugriff auf Dateien). Betrachten Sie GTK#. Es könnte für Sie nützlicher sein.

+0

Mit GTK # kann ich XAML nicht verwenden. Die Vorteile von XAML sind die Dinge, die Leute gerne in der Anwendungsentwicklung verwenden würden. Alle Leute wollen eine reichhaltige UI-Anwendung (mit XAML) erstellen und sie auf allen wichtigen Betriebssystemen ausführen können. –

+0

Gtk # sieht sehr seltsam für mich aus (ein WinForms-Entwickler) und ich möchte nicht, dass Windows-Benutzer GTK, GTK # und Mono installieren - ich möchte, dass meine Anwendung "out of the box" läuft, ohne irgendwelche Vorbereitungen zu treffen System mit einer aktuellen Version von .Net Framework oder Mono installiert. – Ivan

+0

Anyway Moonlight ist eine schlechte Wahl für eigenständige Anwendungen. Es hat viele Einschränkungen. Überprüfen Sie diese http://stackoverflow.com/questions/3186466/list-of-silverlight-limitations-restrictions/3190886, um eine Liste der Einschränkungen für silverlight 4 zu erhalten. Denken Sie auch daran, dass Moonlight Silverlight 2 mit einigen Funktionen von Silverlight 3 entspricht (So ​​haben Mondlicht noch mehr Einschränkungen). –