views:

189

answers:

3

Hi,

I have a simple WinForms type application (main form, couple of sub-forms, minimize to system tray with notifications showing here).

I was going to move to WPF however I'm hearing some people say go silverlight (out of browser).

Question - Which way should I go for a simple desktop winforms type app? WPF or Silverlight?

Tks

+3  A: 

It depends on what features you need. If you must minimize to the tray, it'll be easier in WPF. Silverlight, however, supports notification toast for notifications. It's not trayed, but it still works well.

Also note that Silverlight doesn't have floating child windows, so if you need them, you'll need to go WPF. You can get close analogs with the ChildWindow control, but they must stay within the bounds of the Silverlight application as they are ui elements, not real hwnd windows.

Silverlight 4 lets you do almost anything you need using COM automation. However, resist using that for major functionality. If you're targeting just Windows, do a click-once WPF application, preferably WPF4 if your timeline permits it. Reserve COM automation for OS "light-up" functionality in otherwise cross-platform applications.

Pete
makes sense - I just read somewhere Silverlight is a subset of WPF? So there's no real chance WPF will be dropped and Silverlight replaces this then? i.e. is it a technology one might learn for nothing?
Greg
Pete, Welcome to SO, its really good to see you guys getting involved here.
AnthonyWJones
@Greg Both Visual Studio 2010 and the Expression Suite have large amounts WPF in them so WPF will be around for some time.
Doug Ferguson
@Greg - Silverlight isn't a subset of WPF. It shares a lot of the same concepts but there are things in Silverlight that aren't in WPF and vice versa.
ChrisF
Thanks Anthony. I've been here for a bit, just don't answer/comment much.Silverlight is, for the most part, a subset of WPF. The two continue to evolve in parallel and feed each other with features. If Silverlight fits your needs, use it. If you need more integration and WPF features, it's relatively easy to upgrade to that (or if you know in advance, start wiht WPF)
Pete
A: 

Ease of application deployment is one big factor which Silverlight has going for it.

Depending upon the requirements and audience for the program, WPF or Silverlight will have advantages.

If you are able to run a setup on the target machines then WPF will be an option. If you want to launch from a webpage then Silverlight is the way to go.

Doug Ferguson
what about WPF using click-once deploy Doug? is this something I should look at re the deployment approach (or are there some issues here)
Greg
With WPF it is also possible to use click-once deployment or to create an XBAP which appears within the browser frame. These work easily as long as you only need low rights. When click-once runs into problems, the error message are not helpful for determining a solution.
Doug Ferguson
A: 

Hi Greg, if it's an internal app sounds likes WPF + ClickOnce is possibly the better choice. Unless you have (for example) sales people on the road with diff browsers, OS's etc then an installable SL app that talks to a (WCF) service might be a bet

Jason Roberts