Ich muss mich entscheiden, eine neue Anwendung mit Silverlight oder WPF zu bauen. Irgendwo nähern sich die beiden Technologien ja aber auch aneinander an – langfristig kann es ja sein, dass eine von beiden nicht mehr existiert. Auf welche würdet Ihr setzen?
Das ist ein klassisches "Kommt darauf an". Wenn ich heute eine Anwendung "From Scratch" anfange, versuche ich es möglichst Frontend unabhängig zu gestalten. Vielleicht kommt in der Zukunft noch HTML 5, WebUI oder Razor dazu, daher wäre gut wenn man die Codebasis möglichst wiederverwenden kann und "nur" die UI austauschen muss. Mit Deinen Angaben kann ich Dir leider keine Empfehlung aussprechen, hier schliesse ich mich Martin an: ein paar Angaben mehr wären hilfreich
WPF-Anwendungen müssen ausgerollt / installiert werden. Dafür hat man aber auch mehr Möglichkeiten weil sie nicht in einer Sandbox laufen (z.B. Dateizugriff usw.) und das Framework etwas umfangreicher ist.
Wenn die Einschränkungen kein Problem sind und man Wert darauf legt das einfache und komfortable "deployment" über den Browser zu nutzen, bzw. die Anwendung direkt im Internet anbieten will, würde ich Silverlight nehmen...
ANGEBLICH ist aber Silverlight die Technologie auf die MS in Zukunft verstärkt bauen soll. Bei der Entwicklung der Basiskomponenten wurde in WPF teilweise ziemlich viel getrickst somit müssten sie dort viele Teile überarbeiten um eine gute weiterentwicklung zu gewährleisten. Etwas was dafür spricht ist, das in Silverlight jetzt schon die 5er Beta da ist. In WPF soweit ich weiß, ist noch nichts bekannt wann die 5er Version kommt oder was sie beinhaltet...
ABER das ist etwas das ich gehört habe und ich hafte natürlich nicht ;) Ich würde wirklich wie in den ersten 3 Zeilen unterscheiden. Sprich wenn du ein Programm installieren willst bzw. einfach nur auf einem Client laufen haben willst, setz auf WPF wenn man das Programm aber von überall auf der Welt aufrufen können soll setz auf Silverlight.
Silverlight kann ja auch Out of the Browser laufen. Somit kann Silverlight ein "normales" Look & Feel einer normal App darstellen. Es kommt wirklich darauf an was ist das Einsatzgebiet, braucht es eine DB im Hintergrund etc.