The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Is it worth it to learn WinForms?

Hi,

I am a seasoned developer. have done lot of C++, MFC, Win32 also ASP, SQL, DX etc.

Haven't had a chance to learn C#. I wanted to do a small product to learn the language and .Net. I can take two routes either do WinForms App or do a ASP.Net app.

I hear a lot that WinForms is going to be obsolete. so my question is What do you guys recommend I do in order to get a good grasp of C# and .Net.


regards
Khan
Khan
Friday, February 17, 2006
 
 
WinForms won't be "obsolete" for MANY years.

Yes, WPF is coming, but MOST existing apps won't be rewritten to use it so it is not a waste of time to learn WinForms, especially if your project is small.
Jared
Friday, February 17, 2006
 
 
Write the backend of a simple application. Say, something like a little inventory management thing or something.

Then write a desktop client for it.

Then write a web interface for it.

Heck, why not go all in and write some web services too?

Seriously though, do both. Then you will get a more encompassing feel for the framework, and the differences inherent in asp.net and winforms.

Then you can choose which path you wish to delve into deeper, if any.
cheap calls Send private email
Friday, February 17, 2006
 
 
I agree with Jared that it will be several years before WPF depricates WinForms.

However, if your purpose is merely to learn C# and upgrade your skillset, why not learn the *most* cutting edge toolset?
(The Chris Sells book is very good, BTW)

If you want to go the WinForms route, I would definitely recommend the following by Matthew MacDonald.

http://www.amazon.com/exec/obidos/ASIN/1590594398/willsconsulti-20

In the end, I have to say it doesn't really matter. The concepts are very similar between WPF and WinForms 2.0.
PWills Send private email
Friday, February 17, 2006
 
 
Ok one more question this may be dumb one.

I've Visual Studio.Net 2003 which I assume will only support .Net 1.1 framework programming.

Will that be a complete No No to start on Winforms with VS2003. Do I definitely to upgrade to VS2005 to do .net 2.0 either forms or asp.net.

Thanks for all the answers. You guys are really helpful.
Khan
Friday, February 17, 2006
 
 
For your own sanity, upgrade to .NET 2.0 and VS 2005. WinForms 1.1 can be extremely frustrating. It got a *major* overhaul in 2.0.

Note that you can use the free Visual C# Express product.
PWills Send private email
Friday, February 17, 2006
 
 
Being a seasoned Win32/MFC developer, you will find WinForms to be a breath of fresh air. You will understand it much easier than most other programmers comming to it from other technologies. If you've never done any web programming then ASP.NET will be much more difficult to grasp.

Start with WinForms. Once you've grasped it you will be able to move on to ASP.NET a little easier because you will be familiar with the .NET eventing model and control structure which is the same in both technologies.

And it is just fine to start with .NET 1.1 if you are just fooling around. Not that much has changed in WinForms in .NET 2.0. You get a lot of nice new controls in the new version but the basic programming model is very similar. If you really want to go directly to .NET 2.0, download the free versions of Visual Studio 2005 Express.
Turtle Rustler
Friday, February 17, 2006
 
 
Do both VS2003 and Free VS2005 run side by side?

since I saw that the free VS2005 has no support for MFC etc.
Khan
Friday, February 17, 2006
 
 
> For your own sanity, upgrade to .NET 2.0 and VS 2005.
> WinForms 1.1 can be extremely frustrating. It got a *major* > overhaul in 2.0.

What has been changed in 2.0?
cipher
Friday, February 17, 2006
 
 
Yes. They can run side by side.
Turtle Rustler
Friday, February 17, 2006
 
 
>> What has been changed in 2.0?

* The forms designer is much better. Snap-lines, etc, make it easier and quicker to layout controls. Also the new layout containers (FlowLayoutPanel, TableLayoutPanel) mean that you don't need to roll your own layout engine.

* The DataGridView and DetailsView eliminate a lot of tedious code to do database CRUD operations.

* The Properties and Settings make give you a place to write user-specific settings to out of the box.

* BackgroundWorker dramatically reduces the code needed for asynchronous processing.

* ClickOnce makes it much easier to showcase your work to clients... instead of continually pushing out new installers you can push out a webpage instead.

* DoubleBuffering. Noticably less flicker.

That's off the top of my head, there's an MSDN article on the topic here: http://msdn2.microsoft.com/en-us/library/35f2fe4h.aspx

You *can* use VS2002/2003, but with the free Express versions out there, why would you? In my opinion it's worth the switch for the layout controls alone.
PWills Send private email
Friday, February 17, 2006
 
 
I hate to reveal my ignorance but WTF is WPF? Is it anotehr name for that XAML thing?
NetFreak Send private email
Friday, February 17, 2006
 
 
WPF = Windows Presentation Foundation = Avalon = XAML
PWills Send private email
Friday, February 17, 2006
 
 
Aha! The Microsoft acronym factory is at it again! I thought so.
NetFreak Send private email
Friday, February 17, 2006
 
 
"WinForms 1.1 can be extremely frustrating. It got a *major* overhaul in 2.0."

I barely notice the difference...the snap lines are certainly nice, but for the most part it feels like WinForms were ignored during 2005 development.
Phil Send private email
Friday, February 17, 2006
 
 
Thanks guys you've been a great help. I think I'll probably download the express version just for the sake of familiarizing with that as well.

Isn't WinForm programming more like VB 5-6 forms programming having all the events in one class for all the controls as compared to C++ where we used to have separate classes for all controls.

or like a dialog class which handles events of its controls.

for someone who asked I did a do whole website from scratch in ASP :) should've done it in C# but I was more concerned with getting my product done faster and better since I was familiar with ASP. and not C# and .Net.

thanks a lot again.
Khan
Friday, February 17, 2006
 
 
I find WinForms a step backwards from C++ Builder. ;-)
MBJ Send private email
Friday, February 17, 2006
 
 
I must admit I haven't found WinForms that good, in particular the documentation is very poor.
Tony
Saturday, February 18, 2006
 
 
MSDN is decent enough as a reference documentation but you should definitely get Petzold or MacDonald to figure out how it all fits together.
Chris Nahr Send private email
Saturday, February 18, 2006
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz