|Originally posted by *Calsy|
Hi All, Just wanting to ask the question of WPF vs Silverlight. With all the hype currently going around about Silverlight no one seems to give a clear answer why it should be used over WPF (except for cross platform compatability).
So can anyone answer the question whether we should wait until the Silverlight release of DevForce or develop a WPF app?
A few years ago the question was "(Winforms) Smart Client v. ASP.NET Web App". The Winforms Smart Client app offered a simpler, more homogeneous development environment; the facilities for producing a richer, more responsive interface; and the potential for much better performance by leveraging a rich local caching facilitiy such as provided by DevForce. On the opposite side of the ledger, deployment and upgrades were complicated, labor intensive, and expensive. Because of platform requirements and the frequent necessity to intervene in deployment issues, Smart Client has always been suitable only for a captive audience, i.e., an internal enterprise app.
The ASP.NET app offered a tortuous development environment involving a mismash of languages and (relatively) inferior debugging facilities; (relatively) limited and sluggish user interfaces; and much reduced opportunities for performance boosting via a local cache. On the other hand, deployment cost of the client software was zero, or close to it. Applications could be deployed to anyone, and a user could run it anywhere.
Those are the same issues that distinguish WPF and Silverlight applications, except that the gap between the two, on every count, has narrowed a great deal. ClickOnce came along and made remote deployments easier. It continues to be improved, and is available for assisting in the deployment of WPF apps. Silverlight, on the other hand, opens powerful new possibilities in richness and responsiveness of the user interface, while continuing to offer ASP's benefits of zero deployment cost and wide reach.
You can still do more things in the WPF (Smart Client) user interface than you can do in the Silverlight (web app) one, but both offer much richer capabilities than their older counterparts. You can still take greater advantage of a rich local cache in a WPF app than in a Silverlight one, but with DevForce you get a powerful local caching capability even in the browser-hosted Silverlight environment; so again the gap is much narrower than before.
We'd still choose a WPF app for a captive enterprise audience doing intensive work manipulating lots of data with a (necessarily) complex user interface; and we'd enjoy the benefit of a still somewhat more elegant development environment. For applications that don't require the absolute top of the line in performance and richness of UI, we might choose to enjoy the relative deployment ease and broad reach of Silverlight.
In case you're interested, we've recently posted a new short video introduction to our Silverlight offering at the following URL:
Edited by GregD - 05-Feb-2009 at 2:38pm