1

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?

chobo
  • 31,561
  • 38
  • 123
  • 191

5 Answers5

2

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.

This Question compares the two.

Community
  • 1
  • 1
nickmoriarty
  • 1,253
  • 19
  • 21
  • 1
    This 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
1

Desktop apps should be built with WPF. Silverlight has a lot of security restrictions which doesn't make life easier.

Snowbear
  • 16,924
  • 3
  • 43
  • 67
1

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).

Reed Copsey
  • 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
1

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.

SQLMason
  • 3,275
  • 1
  • 30
  • 40
0

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.

ehnmark
  • 2,656
  • 3
  • 24
  • 20