tags:

views:

277

answers:

6

I am starting to learn c# and wanted to create an actual app which one of the two would you start with?

+2  A: 

Personally, I would learn WFP. We use a lot of Winforms, but we're in the process of migrating to WPF. I think that's a more future proof set of skills. WPF Virtual Labs are a good place to start.

JP Alioto
A: 

The basics of either are much the same -- WPF offers a lot more features by way of declarative UI definition and skinning/theming, and a slightly different set of layout techniques. While you're at the "Hello world!" stages, it makes little difference -- certainly less than using either GTK# or the Swing implementation in VJSSupUILib would.

Steve Gilham
I don't agree- WPF and Winforms are very, very different. Developing for WPF is very different form developing for Winfroms.
Foredecker
A: 

I would say learn both to have a stronger foundation of knowledge and be able to work with legacy code, but put more effort into WPF because it will eventually replace WinForms.

James M.
I can only learn one thing at a time or at least start with one.. I have now decided to first take a closer look at WPF ;)
Thomaschaaf
I'd disagree with this - just learn WPF. WinForms is really based on 20+ year old technology and the model has been completely replaced for WPF. I'd avoid learning WinForms if you can.
codekaizen
The age of the technology is not really relevant to whether it's worth learning. Or in this case, the age has led to a presence that will be around for a while.
James M.
+1  A: 

I recommend WPF - it is now very mature and well supported. Of course, winforms is still supproted and some new development is being done for it. However, WPF is significantly more sophisticated and powerful. Almost as importantly, the tool support for it is MUCH better than for WPF.

Here are some links for you.

Foredecker
+1  A: 

My rule of thumb is to choose the most recent technology that doesn't require your users to go through extra effort. If you have to support Windows XP, then WinForms is the way to go as it doesn't require XP users to install .NET updates. If you don't have to worry about XP, then WPF is probably the ready to go.

Eric
And given the disaster known as "Vista", XP will be around for a while.
MusiGenesis
A: 

I think that WPF should be used only when you need to show some animation, or maby another movement on the screen (graphs etc...), to replace GDI/GDI+ Last year was on MS conference, and there was one presentation about WPF in commercial apps, but guy who was talking about it did not convinced me to WPF as a technology for my future client. I saw more problem and issues than advantages.

But I'm learning it myself now, and I think it's a lot of fun and it's cool, so if you just want to learn it for yourself I wold choose WPF :)

Check out links from Foredecker.

Jarek