Solved

wpf or not?

Posted on 2015-01-25
9
520 Views
Last Modified: 2015-01-26
Hi experts,
I'm impressed with what wpf can do, but is it the way to go? I'm creating a native app that runs only on Windows for now, and I want an app that looks very customized (non standard controls, borderless Windows, vector graphics are great)... but I'm wondering, what's my best bet here?

Thanks,
Mike
0
Comment
Question by:thready
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 16

Expert Comment

by:Imran Javed Zia
ID: 40570048
Hi,

As per my understanding, WPF is better choice if you want to use your app to next versions too seamlessly.

You may find following links helpful:
http://www.wpf-tutorial.com/about-wpf/wpf-vs-winforms/
http://stackoverflow.com/questions/6564795/wpf-vs-winforms-for-net-newbies


It is said not now, but in future, Microsoft will close support for WinForm.

So I may recommend WPF over WinForm.

Thanks
0
 
LVL 69

Expert Comment

by:Éric Moreau
ID: 40570263
>>It is said not now, but in future, Microsoft will close support for WinForm.

This is not true. There are so many apps using Windows Forms that they need to support it. But that doesn't mean that it will evolve a lot!
0
 
LVL 16

Expert Comment

by:Imran Javed Zia
ID: 40570303
Dear Eric,

I did not claim that Winforms is Dead, but everyone may accept that it has to. It has no enhancement since 2.0.

Please refer to following statement:
During a Q and A session at the Build 2014 Conference, Microsoft explained that Windows Forms was under maintenance mode, with no new features being added, but bugs found will still be fixed.
http://en.wikipedia.org/wiki/Windows_Forms

And Kindly also look at:
http://mark-dot-net.blogspot.com/2014/06/is-windows-forms-dead-yet.html

Again. It is my opinion, someone may have different opinion, but it is always recommended to go with new technologies, until unless there is some specific reason.
0
 
LVL 69

Expert Comment

by:Éric Moreau
ID: 40570350
I fully agree that Windows Forms had no enhancement but you said "Microsoft will close support for WinForm" and this is not true, they just cannot. The best example is that the VB6 runtime is still supported (http://blogs.msdn.com/b/nikosan/archive/2012/04/20/support-statement-for-visual-basic-6-0-on-windows-8.aspx)
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 1

Author Comment

by:thready
ID: 40570356
I guess the very fact that visual studio is done in wpf shows it's the best option for Windows apps...
0
 
LVL 16

Expert Comment

by:Imran Javed Zia
ID: 40570358
"It is said not now, but in future, Microsoft will close support for WinForm."

please note ,

"It is said"

And also note

" not now, but in future"

So I never claimed that they have stopped/closed.
0
 
LVL 40

Accepted Solution

by:
Jacques Bourgeois (James Burger) earned 500 total points
ID: 40571949
As with anything in computing, once you think with a cold head, it really depends on your requirements, nothing else.

Disregard the discussion about whether Windows Forms are dead and has not evolved recently. Windows Forms have been in evolution for close to 25 years. WPF for 7 or so. Comes a point when a technology is mature. I would be very mad at Microsoft if they kept adding useless features just for the sake of adding or changing features as they did in Office in 2007. Or if they brought everything down to a bland screen as they did in Windows RT and Office 2013.

If you are developing Windows applications that will work only on a standard Windows desktop, nothing beats Windows Forms. They were designed specifically for that purpose. You can have non standard controls (learn about inheritance or scour the Internet) and borderless windows (FormBorderStyle=None) in Windows Forms too. The controls in WPF look non standard because WPF does not use the native Windows controls. But when you have seen 10 WPF applications, you simply see them as a new standard.

Yes, WPF is more graphically oriented, mainly because Windows Forms do not have something like Microsoft Blend to design the form in the background. But if you stick only with the default WPF controls that you get through Visual Studio, I personally ended up finding them repetitive a lot faster that it took me to find Windows Form controls repetitive. Everybody wants 3D nowadays, so I cannot see what the fuss is about flat buttons and flat screens. Personal preferences.

WPF was designed for another purpose: extensibility on different platforms. Those who were there when the technology appeared remember that one its main reason for being was to bring Windows and Web development closer, so that jumping between the 2 technologies would be almost seamless.

There was also the idea that one day, the same application would work both on Windows and the Web. It seems that we will be there in the next version of Visual Studio, and even more so because you can add tablets and phones to the list of environments where a given application will be able to run. The Graal is close... are we being told.

So if you think that you are going into Windows, web and mobile development, WPF is definitively the way to go.

But as any experienced technologist will tell you (in any technology, not only in programming): having something that does everything is great, but it will never be able, in a given field, to do what a technology specialized in this field can do. A laser can cut anything. But I would rather use by table saw to cut a piece of wood, because the laser leaves a burned out edge while the table saw does not.

If you requirements are to create applications that runs only on a Windows desktop, although WPF makes it easier to create cool looking applications, the good old Windows Form application is right at home, because this is the only place it has ever lived. It knows that place like no other.

This being said, if you aim is to develop your expertise for what seems to be the future of computing, developing your skills in WPF might be a better choice. Maybe not for your users, but for you. See who you put first between these two. If you think that everything in the future will be mobile and cloud, then investing in WPF will help you make the transition when needed, if it is not already the case for you.

If you think (as many do) that the Windows desktop is there for the long run, then putting your expertise in Windows Form might be a better idea, because the way it is going now, all the young programmers are doing WPF, and there will eventually be a need for Windows Form programmers that will raise their value on the job market.

Am I glad that I am old enough not to have to weight all these things anymore.
0
 
LVL 1

Author Comment

by:thready
ID: 40571988
Hi Jacques!

Awesome answer, thank you!  I'm torn between wanting to get something done quickly with WinForms and wanting to learn WPF.  I love the idea of having a UI that can scale itself with vector graphics and to do everything the way I'd want it to be.  But free time is scarce and I'm finding the learning resources daunting.  They're either too basic or not targeted enough to what I want to achieve.

My main interest is in creating a list control with column headers that can allow me to click on buttons in list view items that bring about popups, etc...  Is there a good book or resource you could point me to to get a good kick in the butt?  :)

Thanks again,
Mike
0
 
LVL 1

Author Closing Comment

by:thready
ID: 40572015
I was about to start my project WinForms.  This answer has got me wanting to invest and learn WPF.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

25 Experts available now in Live!

Get 1:1 Help Now