tipos-de-aplicaciones-en-dotnet

Types of Applications in .NET

  • 7 min

Within .NET, a wide range of technologies are encompassed, covering almost any type of application and development need we might encounter.

It can be a bit confusing due to the large number of technology names that exist. Among the available technologies and project types we find, for example, desktop, mobile, web, gaming, and console applications.

But don’t be alarmed, you just need to know that they are technologies grouped within the .NET environment, used to create different types of applications.

Choosing the right technology depends on the application’s requirements and the runtime environment. Here is a summary table for you.

Application Type.NET TechnologyPlatform
ConsoleConsole AppCross-platform
DesktopWinFormsWindows
WPFWindows
UWPWindows
WebASP.NET CoreCross-platform
BlazorCross-platform
MobileXamarinWindows, Android, iOS
MAUICross-platform
GamesUnityCross-platform
GodotCross-platform
Internet of Things (IoT).NET for IoTIoT Devices

❌ means obsolete

So let’s look at each one in a bit more depth 👇.

Console Applications

Console applications are text-based applications that run in a command-line window (CMD on Windows or Terminal on macOS/Linux).

They are the simplest and most basic development option in .NET and are widely used to test logic functions without a graphical interface or for automation.

When to use it

Console applications are appropriate for automation scripts, functionality testing, command-line applications that do not require a GUI.

Desktop Applications

WinForms

WinForms (Windows Forms) is a technology for developing desktop applications on Windows with a simple graphical user interface (GUI).

Launched in the original .NET Framework, WinForms allows designing forms and graphical components by dragging and dropping elements.

Obsolete

It was replaced by WPF

WPF

WPF (Windows Presentation Foundation) is a more advanced technology than WinForms, also exclusive to Windows, but offering better support for complex graphical interfaces rich in visual content.

It uses XAML (Extensible Application Markup Language) to define interfaces and allows for greater customization and animations.

When to use it

It is the current technology recommended by Microsoft for Desktop applications on Windows.

UWP

UWP (Universal Windows Platform) is a platform that allows creating universal applications that work on multiple Windows devices, including PCs, tablets, Xbox, and HoloLens.

UWP applications are optimized for Windows 10 or later and can be published in the Microsoft Store. They are also developed with XAML (with very small variations compared to WPF).

Obsolete

It was intended to replace WPF but didn’t quite succeed. It is currently deprecated, and WPF is recommended.

Web Applications

ASP.NET

ASP.NET is a technology for creating web applications in .NET, ranging from simple HTML pages to complex and robust web applications.

Obsolete

It was replaced by ASP.NET Core

ASP.NET Core

ASP.NET Core is the evolution of ASP.NET, designed to be cross-platform, high-performance, and cloud-compatible.

When to use it

ASP.NET Core is the recommended option for modern, cross-platform web applications.

Blazor

Blazor is a recent technology that allows developing interactive web applications using C# instead of JavaScript. Blazor has two modes:

  • Blazor WebAssembly: Runs C# code in the browser.
  • Blazor Server: Runs the code on the server, and the browser interacts with it via SignalR.

When to use it

Useful for C# developers who want to work on web applications without depending on JavaScript.

Mobile Applications

Xamarin

Xamarin is a platform that allows developing cross-platform mobile applications using C# and .NET. Applications created with Xamarin can run on iOS, Android, and Windows.

Obsolete

It was replaced by MAUI

.NET MAUI

MAUI (Multi-platform App UI) is the evolution of Xamarin Forms, allowing the development of desktop and mobile applications from a single codebase. Like Xamarin, it supports iOS, Android, macOS, and Windows.

Cross-platform applications that need to run on mobile devices and desktop applications, offering a more unified experience than Xamarin.

Game Applications

Unity

Unity is a very popular game development engine that uses C# as its primary programming language. Unity allows developing 2D and 3D games and publishing them on multiple platforms, including consoles, PC, mobile devices, and virtual reality.

When to use it

Unity is useful for developers interested in creating video games or augmented reality and virtual reality experiences, using a high-level language like C#.

Godot

Godot is a cross-platform, open-source game development engine that allows creating 2D and 3D games.

One of its advantages is its flexibility in programming languages, as in addition to its native language GDScript, it supports C#.

When to use it

It is an attractive option for developing video games with C#, with an Open Source solution.

Other Technologies