Solved

wpf or not?

Posted on 2015-01-25
9
510 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
Comment Utility
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
Comment Utility
>>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
Comment Utility
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
Comment Utility
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 1

Author Comment

by:thready
Comment Utility
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
Comment Utility
"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
Comment Utility
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
Comment Utility
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
Comment Utility
I was about to start my project WinForms.  This answer has got me wanting to invest and learn WPF.
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
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…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

772 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

15 Experts available now in Live!

Get 1:1 Help Now