Tag Archives: Windows Forms

How to Select a .NET Framework


You need to select a .NET framework for your new project or for upgrading a legacy system.

However there are too many .NET framework branches so you are not sure which one is suitable with your need.


You need to review the history of .NET framework and the differences among the various branches that include .NET Framework, ASP.NET Web Forms, ASP.NET MVC, .NET Core and .NET 6.

1. .NET Framework

The main purpose of .NET Framework is for building Windows Forms Applications.

  • .NET Framework 1.0 was released in 2002.
  • .NET Framework 2.0 was released in 2005.
  • .NET Framework 3.0 was released in 2006.
  • .NET Framework 3.5 was released in 2007.
  • .NET Framework 4.0 was released in 2010.
  • .NET Framework 4.5.2 was released in 2014.
  • .NET Framework 4.8 (the latest version) was released in 2019.
2. ASP.NET Web Forms

ASP.NET Web Forms was built on top of .NET Framework.

The main purpose of ASP.NET Web Forms is for building ASP.NET Web Forms Applications (multiple page web applications).


ASP.NET Web Forms does not follow MVC architecture pattern. Therefore MS built ASP.NET MVC.

ASP.NET MVC was built on top of .NET.

ASP.NET MVC is open-source software, apart from the ASP.NET Web Forms, which is proprietary.

The main purpose of ASP.NET MVC is for building ASP.NET MVC Applications (multiple page web applications based on MVC architecture pattern).

  • ASP.NET MVC 1.0 was released in 2009 (It was built on top of .NET Framework 3.5).
  • ASP.NET MVC 2.0 was released in 2010 (It was built on top of .NET Framework 4.0).
  • ASP.NET MVC 5.2.8 (the latest version) was released in 2022 (It was built on top of .NET Framework 4.8).
4. .NET Core

.NET Framework does not run on Linux or Unix and is proprietary. Therefore MS built .NET Core.

.NET Core runs on Windows, Linux and Unix, and is open-source software.

  • .NET Core 1.0 was released in 2016.
  • .NET Core 3.1 was released in 2019.
  • .NET Core then was renamed to just .NET in 2020 and .NET 5 was released in 2020. The .NET 4 name was not used to avoid name collision with .NET Framework.
  • .NET 6 (the latest version) was released in 2021.

The main purpose of .NET Core or .NET is for building Windows Forms Applications, ASP.NET MVC Applications and Single Page Applications that run on Windows, Linux and Unix.

The ASP.NET Web Forms Application type was removed from .NET Core or .NET.

5. .NET 6

Currently (in 2022) MS supports 2 branches of .NET:

  • .NET Framework 4.8 (containing Windows Forms Applications, Web Forms Applications, and ASP.NET MVC Applications) and
  • .NET 6 (containing Windows Forms Applications, ASP.NET MVC Applications and Single Page Applications).

Both .NET Framework 4.8 and .NET 6 support building microservices.

6. Final thoughts

For a new system, you probably should use .NET 6.

For a legacy system, if you are using ASP.NET Web Forms then you may stick with .NET Framework 4.8. Otherwise you may upgrade your system to .NET 6.





Topic 5 – Introduction to Windows Programming

Why do I need to learn about Windows programming?

Because Windows is the most popular OS and most companies use it for their daily work. So your software must run on Windows in order to help users do their work.

What can I do after finishing learning Windows programming?

You will know how to create Windows applications such as Word, Excel, Outlook, Notepad, Paint, Calculator, Photoshop, Windows Media Player, Skype and Firefox.

It sounds interesting! What should I do now?

Windows  programming is a very big topic. You need to master at least 3 specific technologies: Windows API, Windows Forms and Windows Presentation Foundation.

Please read
– this Charles Petzold (1998). Programming Windows. Microsoft Press book, and
– this Jeffrey Richter (1999). Programming Applications for Microsoft Windows. Microsoft Press book to learn about Windows APIs.

Please read this Chris Sells and Michael Weinhardt (2006). Windows Forms 2.0 programming. Addison-Wesley book to learn about Windows Forms.

Please read this Chris Sells and Ian Griffiths (2007). Programming WPF: Building Windows UI with Windows Presentation Foundation. O’Reilly Media book to learn about Windows Presentation Foundation.

Can I learn Java stuff instead of Microsoft stuff for Windows programming?

Yes, you can. However please remember that Microsoft is the one who created and has been developing Windows. Therefore we believe that the good approach for learning programming for Windows is to learn Microsoft technologies.

Can I create a desktop application that can run in Windows, macOS and Linux using one code base?

Yes, you can.  Please consider Electron framework and Tauri toolkit.

After finishing the books please click Topic 6 – Introduction to Database Management Systems to continue.