I want to create a desktop like app, but I'm kind of confused as to which technology to use. It seems Silverlight functions like a desktop app. Which technology is better suited and has is more future proof?
-
Nothing is future proof sadly. The only guarantee is change itself. – Matt Phillips Mar 04 '11 at 21:32
-
And AFAIK silverlight has been relegated to WP7 (windows phone 7) only now is it not? – Matt Phillips Mar 04 '11 at 21:33
-
@Matt: No, not at all. SL is getting a lot of love on the desktop for OOB support, too. – Reed Copsey Mar 04 '11 at 21:39
5 Answers
WPF is the framework to go with if you are building a desktop application. Silverlight is more of a web application framework. It all depends on where and how the application is being used.

- 1
- 1

- 1,253
- 19
- 21
-
1This is quite out of date information (2009). There's a reason Microsoft has been pushing Silverlight out of browser for most desktop development - SL 4 made great strides to help on the desktop. – Reed Copsey Mar 04 '11 at 21:46
Desktop apps should be built with WPF. Silverlight has a lot of security restrictions which doesn't make life easier.

- 16,924
- 3
- 43
- 67
Which technology is better suited and has is more future proof?
This depends a LOT on the purpose and goals of your desktop application.
If your application needs to interop with the system in a "non-standard" way, or provide other types of 3rd party interop, WPF will be a superior solution (at least until SL 5's P/Invoke support).
However, if your application is a LOB application, Silverlight (running OOB) has many advantages - especially if you want to take advantage of things like RIA Services (which hasn't been ported to WPF).

- 554,122
- 78
- 1,158
- 1,373
-
It is a small desktop like app that I want to rework as it is currently a windows form app. Would it make any sense to use silverlight in that instance? – chobo Mar 04 '11 at 21:45
-
1@chobo: If it's pretty self-contained, and doesn't need deep OS integration, then yes. SL works great for interacting with online services or simple internal work. – Reed Copsey Mar 04 '11 at 21:46
WPF has at its disposal the entire .NET framework while Silverlight in an attempt to be lightweight has a part of the framework (plus some really cool things). So, it really depends on the scope and deployment methods. To me it makes more sense to make a Silverlight application a desktop application than to make a WPF application deploy through the web. But again, let the scope dictate. If you're wondering which to learn, the answer is simple - either one as they are similar enough that when you're good at one you'll be okay in the other.

- 3,275
- 1
- 30
- 40
-
Oh yeah, if you need 3D then your choices are more limited until SL5 - WPF utilizes the GPU. – SQLMason Mar 04 '11 at 21:41
If you're used to WPF, you'll find that Silverlight lacks a bunch of major and minor features like data triggers, FindAncestor, synchronous WebClient requests, and so on. Probably not deal breakers but definitely annoyances.

- 2,656
- 3
- 24
- 20