tags:

views:

112

answers:

5

Microsoft pushes new GUI development frameworks every few years (Win32, MFC, Windows Forms, WPF, Silverlight, ...?).

Now I'd like to develop a fancy windows app for windows 7 and use the most spiffy GUI I can lay my hands on. My problem is:

which one should be used for windows client apps? Has Silverlight overtaken WPF for client development, too? Which GUI is supported well and has good GUI elements?

Oh yes, language of choice would be c#/.net. Or maybe F# for fun.

+2  A: 

Different technologies are better for different situations.

That being said, in general Microsoft is recommending:

  • WPF is recommended for application development.
  • Silverlight is recommended for web development of rich web application.

You may for example need to be able to support your application on Windows 2000. And in that case you would have to use Winforms or MFC or straight Win32.

Both WPF and Silverlight are based on XAML and are very similar in development.

From what you said, you are looking for WPF.

Brian R. Bondy
As I wrote in my question I need to support only windows 7.
Sam
@Sam: My answer points to WPF for your situation, but helps fill in a little more background about other choices.
Brian R. Bondy
+1  A: 

WPF would be my first choice

PanJanek
+2  A: 

I would definitely say WPF. Only your design skills set the bar for how fancy these UIs can be. Furthermore WPF, with it's binding mechanisms, renders itself very well to a good separation of business logic and UI, when using the MVVM design pattern.

klausbyskov
+2  A: 

As you're just starting out then you might want consider Silverlight 4. This offers browser, out of browser and full trust application development on the same code base.

There's a beta out now and the full release will follow a month or two after Visual Studio 2010 and .NET 4 which is due 12th April 2010.

ChrisF
+1  A: 

I've recently been considering this and one way to decide between WPF and Silverlight is to look at the non-GUI functionality you need. A good example is the restrictions on peer-peer sockets I found to be a major issue for the Silverlight 4 app we are considering.

As far as controls and GUI features go, I think there's a huge push to converging WPF and Silverlight so if things aren't there now they are likely to be in future.

The Official WPF Compatibility page for Silverlight 3 has not yet been matched by one for SL 4 so you have to read it with the What's New in SL 4 page.

ClearType was added to improve text rendering in SL 3, but is arguably still better in WinForms than either WPF or Silverlight - see this great visual comparison.

Andy Dent