27 Stimmen

Warum von WPF zu Silverlight 4 wechseln?

Ich arbeite an einer Anwendung, die wir WPF anstelle von Silverlight gemacht, wie wir eine vollwertige Desktop-Anwendung mit dem ganzen einzigartigen Gefühl und Vorteile, die gibt wollte. Mit der Ankündigung von Silverlight 4 höre ich jedoch, dass Silverlight die bevorzugte Wahl auch für Desktop-Anwendungen ist.

Warum sollte ich also in Erwägung ziehen, meine WPF-Anwendung nach Silverlight 4 zu verschieben - wenn ich doch eine Desktop-Anwendung haben möchte?

15voto

Peter Wone Punkte 16529

Sich für WPF oder Silverlight oder irgendetwas anderes zu entscheiden, nur weil es im Trend liegt, scheint mir einfach nur albern zu sein, es sei denn, man versucht, ein Mädchen oder einen spitzhaarigen Chef zu beeindrucken.

Der Zweck des Schreibens von Software ist es, Geld zu verdienen. Deshalb tut es Microsoft, deshalb tue ich es und vermutlich tun Sie es auch. Sicherlich gibt es Leute, die es tun, weil sie es gerne tun oder weil sie hehre Ideale verfolgen, aber diese Leute sind keine wirksamen Marktkräfte und haben kein wirkliches Mitspracherecht.

Der größte Teil des Geldes fließt in LOB-Anwendungen (Line of Business), und alle Tools werden mit dem ausdrücklichen Ziel entwickelt, sie an Leute zu verkaufen, die versuchen, LOB-Anwendungen zu entwickeln, da dies den größten Teil des Budgets für Entwicklungswerkzeuge ausmacht.

Bis zur dritten Version konkurrierte Silverlight im Wesentlichen mit Flash, was bedeutet, dass es für nichts anderes als für glitzernde Websites zu gebrauchen war: Sehen Sie sich die Beispielseiten an, die mit der Microsoft Silverlight-Seite verlinkt sind.

Microsofts großer Vorstoß in SL4 ist die Unterstützung für die LOB-Entwicklung; die RIA-Tools. Aber warum? Denn während Sie kann LOB-Entwicklung mit HTML, CSS, AJAX, Flash und Webservices zu machen, ist ein bisschen so, als ob man sagen würde, man könne ein schönes Auto aus einem Meccano-Bausatz bauen, vorausgesetzt, man ist bereit, eine Menge Moos zu verwenden. Silverlight macht das Gleiche, aber effizient und kohärent, mit einer einheitlichen Entwicklungsumgebung. Und es glänzt.

Dies ist eine enorme Verbesserung gegenüber den zerschlagenen Werkzeugen für die Arbeit mit HTML, CSS, AJAX, Flash und Webdiensten, und wenn Sie Verkaufen Dieses integrierte Entwicklungsstudio ist einfach großartig.

Silverlight bedeutet einfache Einführung. Was ist, wenn sie Silverlight nicht haben? Sie werden es haben, auch wenn Microsoft es im nächsten Service Pack verstecken muss. Eine einfache Einführung ist großartig, wenn Sie die IT-Abteilung sind, und großartig, wenn Sie Bürodienstleistungen verkaufen. Es ist auch großartig, wenn Sie entwickeln, weil Sie sich nicht mit der Entwicklung herumschlagen müssen. oder Prüfung Bausätze.

Für büroähnliche Dienstleistungen gibt es keine andere sinnvolle Wahl. Für herkömmliche LOB-Anwendungen gibt es keinen Grund, es nicht zu verwenden, und die Bereitstellung ist viel einfacher und bequemer. Wenn Sie etwas außerhalb dieser Grenzen tun müssen, ist Silverlight nicht geeignet.

Es mag von Interesse sein zu erwähnen, dass meine Anwendung eine Reihe von Dingen tut (direktes TCP-Zeug), die von Silverlight nicht unterstützt werden, und das ist überhaupt kein Problem; der Server tut dies im Namen des Clients, und dies umgeht auf angenehme Weise alle Umweltgefahren, die mit dem Einsatz in freier Wildbahn verbunden sind, da wir die Serverumgebung kontrollieren können.

Ich denke, dass die plattformübergreifende Unterstützung ein Manko ist, da Silverlight auf Nicht-Windows-Plattformen weit hinterherhinkt und auch kommerzielle Nicht-Windows-Arbeitsplätze nur selten anzutreffen sind. Unternehmen setzen Linux nicht auf Workstations ein. Macintosh ist keine Plattform, sondern eine Religion: Es hat keinen Sinn, überhaupt mit ihnen zu reden.

Abgesehen davon gibt es vor VS2010 keinen Silverlight-Designer. Hand-Codierung endloser XAML ist eine kolossal Schmerzen im Hintern. SL4/RIA in VS2010 ist wunderbar, aber Joe Public hat es noch nicht und könnte es auch nicht für den Rollout verwenden, weil es keine Go-Live-Lizenz oder Endbenutzer-Laufzeit gibt.

Damit bleibt WPF als einzige praktische Option übrig. Aber [Trommelwirbel] eine endgültige Betaversion mit einer Go-Live-Lizenz und einer Laufzeit wird schon sehr bald verfügbar sein, wahrscheinlich Ende Februar. Ein großes Lob an ScottGu und sein Team.

10voto

Achilles Punkte 10887

Ich denke, Ihr Verständnis von WPF und Silverlight ist ein wenig fehlen. Silverlight ist eine Teilmenge der Funktionen und Merkmale, die in WPF zu finden sind. Silverlight hat ein paar Funktionen, die Silverlight-spezifisch sind. Silverlight auf dem Desktop ist einfach eine Antwort von Microsoft auf Adobe AIR. Daher sollten Sie Ihre Anwendung mit WPF implementieren, wenn das Ihre Wahl ist. Lassen Sie sich bei der Entscheidung für Ihre Anwendung nicht vom "Buzz" leiten, sondern von den geschäftlichen Anforderungen und den in Ihrem Unternehmen vorhandenen Fähigkeiten.

10voto

Ben McCormack Punkte 30876

Beachten Sie, dass sich Silverlight 4 derzeit in der Beta-Phase befindet und noch keine Client-Laufzeit für Endbenutzer verfügbar ist. Silverlight 4 wurde im April 2010 veröffentlicht. Wenn Sie bereits eine Anwendung in WPF für den Desktop entwickeln, dann ist dies wahrscheinlich die richtige Lösung. Es wäre jedoch ratsam, die Entwicklung von Silverlight aufmerksam zu verfolgen, falls Sie Ihre Anwendung irgendwann in den Webbereich portieren oder eine andere Anwendung im Webbereich entwickeln möchten.

Silverlight 4 bringt Silverlight auf ein völlig neues Niveau. Ausprobieren Tim Heuers Blogbeitrag für viele der neuen Funktionen. Schauen Sie auch, ob Sie ein Video der Facebook-App von der Keynote finden können, als die Silverlight 4-Funktionen angekündigt wurden. Diese App hebt eine Menge der neuen Funktionen hervor, die auf den Desktop ausgerichtet sind.

3voto

Jacob Adams Punkte 3914

Ein paar wichtige Gründe, SL4 gegenüber WPF zu bevorzugen

  1. Kleinere Rahmengröße. Zugegeben, SL4 wird wahrscheinlich viel größer sein als SL3, aber derzeit ist das Silverlight-Framework etwa 1/10 so groß wie die kleinste Version von .NET 3.5.
  2. Plattformübergreifende Unterstützung - Silverlight läuft auf Mac und Linux (theoretisch). Dies mag für Sie kein großes Problem darstellen, ist aber in einigen Szenarien von entscheidender Bedeutung.
  3. Viel bessere Integration mit HTML. Silverlight kann innerhalb einer Webseite leben und mit Version 4 kann HTML innerhalb von Silverlight leben. Noch einmal, dies mag für Sie nicht zutreffen, aber wenn Sie mit bestehenden Webanwendungen interoperieren müssen, ist Silverlight definitiv der richtige Weg. Es macht auch den Übergang zum Web viel einfacher, wenn Sie es brauchen.
  4. Das ist eindeutig der Punkt, auf den Microsoft seine Energie verwendet. Ich wäre nicht überrascht, wenn WPF ist so ziemlich tot im Wasser, ähnlich wie Winforms und LINQ to SQL.

2voto

chills42 Punkte 13564

Wenn Ihre Argumentation für WPF ist, dass Sie eine vollwertige Desktop-Anwendung wollen, dann Silverlight ist keine Option. Wenn Sie stattdessen an einer webbasierten Anwendung interessiert sind, die den Browser verlassen kann, dann könnte Silverlight 4 das sein, wonach Sie suchen.

Nach dem Wortlaut Ihrer Frage klingt es so, als ob Sie das volle Desktop-Erlebnis wünschen, so dass Silverlight irrelevant ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X