tags:

views:

465

answers:

6

DUPE: http://stackoverflow.com/questions/388711/when-is-winforms-the-correct-choice-vs-wpf

We have to decide these days whether or not to go with WPF as a platform for building our next generation of our product.

Personally I am a little afraid of using this technology especially because of performance and because it's not mature (I am not sure about the quality of the UI editors such as Blend).

A: 

Considering MS is building their next version of VS with a WPF based code editor, I find it hard to find support for WPF not being 'mature' or having performance issues.

I would say if you are able to migrate anyway, you might as well upgrade to increase the longevity of your code base. If your code is written properly in Winforms, it should not be very difficult to start moving this forward into WPF.

Geoffrey Chetwood
+1  A: 

If you don't need a very glossy UI with animations and so on, I see little reason to jump to WPF... just yet.

Galwegian
What about speed of development? Which do you think an application can be written in faster, WPF or WinForms? My vote is WPF.
David Basarab
@Longhorn213 - what you say only makes sense if your developers are equally versed in both technologies.
Galwegian
Longhorn213: Depends on your needs. For data-oriented applications, the lack of controls like DataGridView in WPF is a major setback; you either need to write them yourself, use some 3rd party control or use the Windows Forms host, none of them is particularly appealing.
DrJokepu
@Galwegian - I see what you are saying. For me I learned .NET in the ASP.NET world and always felt WinForms where harder and clunky because if dragging the items over, where if I wanted something to grow I had to move it down. Which is why I like WPF, it feels more natural to me.
David Basarab
@DrJokepu: There is good reason for not including DataGridViews in WPF. This is not a reason to not migrate.
Geoffrey Chetwood
A: 

I started about 10 weeks ago teaching myself WPF, and then in the last 2 weeks I have actually written an application in WPF.

I came from ASP.NET and I love WPF. I love the XAML markup, it just makes more sense than dragging items over and making sure they are in the right place in a WinForm.

The styling is easier in WPF, you can quickly make a border with rounded corners.

Using Expression Blend you can design a really nice interface with animation.

I developed a WPF app on Vista (home), and XP (work) and they both look really nice.

I have been very pleased with WPF and would not go back to WinForms.

David Basarab
+4  A: 

Personally, I absolutely adore WPF.

It requires a fundamental shift in thinking from Winforms. Winforms you drag and drop stuff on to a form. That gets you 80% of the way really quickly and easily, but when you need to move outside of the things that WinForms explicitly covers, you enter a world of pain.

In WPF, first thing you do is turn off the visual editor. The code for your UI goes from an ugly mess to something beautiful. Also, it is remarkably powerful and flexible, once you get the hang of it the things you can do are absolutely amazing.

The downside to WPF is that it is more heavy then WinForms, and the learning curve is relatively huge. However, it is the way of the future, and unless it is a trivial app you are making, I would choose WPF hands down.

Matt Briggs
+1  A: 

If you are worried about performance, you should check these MSDN pages:

Windows Presentation Foundation Performance

My guess is that WPF is even outperforming Winforms as long as there is appropriate DirectX hardware because rendering can be done by the GPU directly then.

0xA3
A: 

My sense would be that if you are happy with the look and feel of winforms, then stick with it. If you think you will be doing any visual customization, then go WPF. But then I have been working with winforms for a long time and WPF very little. If I was starting out, I would probably focus on learning WPF since it really is much more flexible

rotard