General information about application development options

If you want to create a new application for Windows 11 or Windows 10, you must first select its type. With the Windows and .NET development tools in Visual Studio, you can create several different types of applications, each with its own Visual Studio project types and each with its own benefits. Each application type includes an application model that defines the application life cycle, a default user interface platform, and access to comprehensive APIs for using Windows components.

Creating a WinUI 3 application
The Windows User Interface Library (WinUI) 3 is the latest and recommended user interface platform for classic Windows applications, including managed applications that use C# and .NET, and native applications that use C++ with the Win32 API. By incorporating Fluent Design into all interfaces, controls and styles, WinUI provides a consistent, intuitive and accessible experience based on the latest user interface templates.

WinUI 3 is provided in the Windows Application SDK package . The Windows Application SDK includes a single set of APIs and tools that can be used consistently by any Win32 C++ or .NET C# application on the various target versions of the Windows operating system.

Cross-platform support options
WinUI also serves as the basis for cross-platform technologies that provide great Windows features using different programming languages. These platforms take advantage of WinUI capabilities in Windows and also allow execution in other operating systems.

.NET MAUI.
React Native for Windows.
The .NET Multi-Platform Application User Interface (MAUI) is a cross-platform, open-source architecture for building Android, iOS, macOS, and Windows applications that use each platform’s own user interface and services from a single .NET code base. Because .NET MAUI is focused on leveraging the native capabilities of the platforms, this solution uses WinUI 3 and the Windows application SDK to implement the latest features for Windows users. This gives applications everything they need with WinUI 3, as well as the ability to interact with other platforms.

Win32
Classic Win32 applications (sometimes simply called classic applications) are the original type of proprietary Windows applications which require direct access to Windows and hardware. Because of this, this type would be the best choice if the highest level of performance and direct access to the system hardware is required.

Using the Win32 API with C++ allows you to achieve the highest level of performance and efficiency through increased control over the target platform with unmanaged code, which is possible in a managed runtime environment such as WinRT and .NET. However, this level of control over application execution requires more diligence and attention for proper execution, and allows you to capitalize on development performance for environment performance.

Here are a few key features of the Win32 API and C++ offerings that allow you to create high-performance applications.

Hardware-level optimization, including careful control over resource allocation, object lifetime, data layout, alignment, byte packing, and more.
Access to performance-oriented instruction sets, such as SSE and AVX, with built-in functions.
Efficient and strictly typed generic programming with templates.
Efficient and robust containers and algorithms.
DirectX, in particular Direct3D and DirectCompute (note that UWP also offers cross-programming with DirectX).
Use C++/WinRT to create modern classic Win32 applications with efficient access to Windows runtime APIs (WinRT).