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.