Answered The Techonoliges, Entity Framework and LINQ

Post number 4 has been selected as best answer.

jmcilhinney

C# Forum Moderator
Staff member
Joined
Apr 23, 2011
Messages
3,140
Location
Sydney, Australia
Programming Experience
10+
WinForms is going to be around for a good while yet. That's not what Microsoft wanted - they wanted everyone to migrate to WPF - but there were a lot of people already using WinForms who were happy with it because it could do what they wanted. That's why Microsoft decided to add support for building WinForms apps in .NET Core. They're not actively developing it any more though, and something rather catastrophic would have to be found for them to service it at all.

That said, if you are new to building Windows apps in .NET then you really ought to go straight into WPF. WinForms was created a long time ago and doesn't support various new technologies or doesn't support them well. WPF was built from the ground up to support new technologies at the time and into the future. It also does a much better job of enabling separation of concerns, so it's easier to write better code in WPF. If you already use WinForms and it does all you want then sticking with it is not so bad - much like sticking with VB6 instead of migrating to VB.NET - but if you're starting out with Windows development now then you do yourself a disservice by using WinForms. You also make it harder to learn WPF later too, because you'll find that you need to unlearn things that you get used to in WinForms. WPF with MVVM really is the way forward for Windows desktop development. UWP is very similar as well, so you can easily build Store apps the same way. Xamarin is also very similar, so you can also build cross-platform mobile apps the same way.
 

Inki

-
Joined
Aug 24, 2020
Messages
11
Location
Stockholm
Programming Experience
10+
Why do you need proof? We wouldn't have said it if it wasn't a known fact. You can search the life cycle policy for it.

Do some research using a search engine for Winforms vs WPF and you will find almost everyone will be advising the use of WPF, because of Winforms is considered EOL. That is because it's also what Microsoft are recommending. Unless you are building some old legacy type app, you should be using UWP, WPF, Or Xamarin. They are your replacement options. Note UWP apps limit you to windows 10 and windows mobile.
Mr. Sheepings.
I am not sure that this is a discussion I want to have at work when writing my report 'Quote from Sheepings at C# Forum 'Why do you need proof?".
It is not really how we do work where I am at, in the current report I am quoting Microsoft on a number of EOL for their products (actually finding some EOL dates published by Microsoft) - often it should not be a problem finding those EOL-dates from various companies.
- so if you do a quick 'jdk 6 end of life' or 'Ubuntu 18 end of life', then you actually will find those dates published at the proper company-site.
So it not about me not trusting you, its about being professional at my job.

best, i
 

Skydiver

Staff member
Joined
Apr 6, 2019
Messages
1,788
Location
Chesapeake, VA
Programming Experience
10+
Windows Forms is continuing to be supported, but in maintenance mode. They will fix bugs as they are discovered, but new functionality is off the table. Oh, they stress that it isn’t called “WinForms”.

But that was back in 2014 because the decision to port WinForms into .NET Core 3.1 and put it on life support. If you are the type to pay close attention to the github commits, you'll notice though that some things are being stripped out of WinForms .NET Core 3.1 that used to be in WinForms .NET Framework 4.x.
 

Sheepings

Senior Programmer
Staff member
Joined
Sep 5, 2018
Messages
1,518
Location
UK
Programming Experience
10+
WPF with MVVM really is the way forward for Windows desktop development. UWP is very similar as well, so you can easily build Store apps the same way. Xamarin is also very similar, so you can also build cross-platform mobile apps the same way.
Just to put emphasis on what @jmcilhinney said, and to highlight his point; that the above in-quote are all very much more difficult to learn when making that transition from Winforms to any of the above platforms thereafter.

@Inki - Also note I previously mentioned those restrictions you get with UWP apps as i said earlier. There are also other restrictions with UWP apps which also have file system restrictions such as only being able to write files in its own installation medium and access to external paths require additional permissions, and even then; UWP apps are not very good when it comes to working with file systems. So note this when choosing a platform. However, you don't have any such concerns with WPF or Xamarin.

It is not really how we do work where I am at, in the current report I am quoting Microsoft on a number of EOL for their products (actually finding some EOL dates published by Microsoft) - often it should not be a problem finding those EOL-dates from various companies.
Microsoft's EOL policy page doesn't list Winforms anymore. Perhaps due to corporate pressure from their business users? Due to the fact that many, many companies objected to Microsoft's plans to end support for Winforms, it has since been pushed into dotnet 5 and any required upgrades, patches etc are not to be provided for Winforms thereafter. After dotnet 5, it was said there won't be any future updates or maintenance for Winforms itself from what I've previously read. I did go looking for those sources but they appear to be scrubbed from Google search results and Microsoft EOL policy page. Comforting news if you pick Winforms. Eh? How odd though....

With regards for Winforms in dotnet 5. See : Announcing .NET 5 Preview 1 | .NET Blog. - This will apparently be the last of the support for Winforms as highlighted in the article; it stated Winforms will be added among others.

That said, there are a hundred reasons to choose WPF/Xamarin (which is what I'd recommend) over Winforms. In a nut shell... Winforms is old, dated, where WPF is robust, snazzy, slick, fully customisable UI through Xaml whereas Winforms has many limitations unless you get into making custom controls, and even then, you'll still face limitations.

Wpf, is faster, modern, agile, reliable, more stable, better API's and nicer code (as JM already said), encourages data binding... basically its everything Winforms is not. And i'm not being biased either, as I was a big Winforms fanboy in my time. We can only recommend you do your own research on this, as that's not what we do here on this forum for people. :)

If you need to convince your team at work, then I would start by looking through peer review studies dedicated to comparing the two. Finding favouring studies for WPF over Winforms won't be to difficult.

After reading Skydiver's last post, I don't know what to think. There is a lot of contradicting information in this topic now. :LOL:
 
Top Bottom