Freigeben über


Überblick über die Rahmenoptionen

Dieser Artikel enthält die Informationen, die Sie benötigen, um mit der Entwicklung von Anwendungen für Windows zu beginnen.

Windows bietet eine breite Palette von Sprachen, Frameworks und Tools für die Entwicklung von Anwendungen, darunter WinUI, WPF, C++, C#, .NET und eine Vielzahl von plattformübergreifenden Frameworks. Hier finden Sie Informationen, die Ihnen bei der Entscheidung helfen, welche Option für Sie die beste ist.

WinUI

.

Wir empfehlen WinUI und das Windows App SDK, um Anwendungen zu erstellen, die gut aussehen und die Vorteile der neuesten Windows-Versionen nutzen. Wenn Sie neu in der Windows-Entwicklung sind oder mit der Arbeit an einer neuen Windows-App beginnen, bietet WinUI die Ressourcen, die Sie benötigen, um großartige Apps für Windows 11 zu erstellen.

WinUI ist eine XAML-Markup-basierte Benutzeroberflächenschicht, die moderne Steuerelemente und Stile für die Erstellung von Windows-Anwendungen enthält. Als native UI-Schicht für das Windows App SDK verkörpert sie Fluent Design und verleiht jeder Windows-App das ausgefeilte Gefühl, das Kunden erwarten.

Hinweis

Das Windows App SDK ist eine Reihe neuer Entwicklerkomponenten und -tools, die die neueste Entwicklung der Windows App-Entwicklungsplattform darstellen. Das Windows App SDK bietet einen einheitlichen Satz von APIs und Tools, die von Desktop-Apps unter Windows 11 und bis hinunter zu Windows 10, Version 1809, auf einheitliche Weise verwendet werden können.

Während WinUI die native Benutzeroberflächenschicht ist, können Sie das Windows App SDK mit WPF-, WinForms- oder Win32-Anwendungen verwenden. Wenn Sie bereits Anwendungen für Windows entwickelt haben, aber mit dem Windows App SDK in einer bestehenden Anwendung beginnen möchten, finden Sie unter Framework-spezifische Anleitungen.

WPF

WPF ist ein etabliertes Framework für Windows-Desktop-Anwendungen mit Zugriff auf .NET oder das .NET Framework. Wie WinUI verwendet es auch XAML-Markup, um die Benutzeroberfläche vom Code zu trennen. WPF bietet einen umfassenden Satz von Funktionen für die Anwendungsentwicklung, darunter Steuerelemente, Datenbindung, Layout, 2D- und 3D-Grafiken, Animation, Stile, Vorlagen, Dokumente, Medien, Text und Typografie. WPF ist Teil von .NET. Sie können also Anwendungen erstellen, die andere Elemente der .NET-API beinhalten.

Darüber hinaus können Sie jetzt eine Sandboxumgebung in Ihre verpackten WPF-Anwendungen integrieren und auf diese Weise eine zusätzliche Sicherheitsebene bereitstellen. Dank der neuen Sicherheitsfunktion Win32 App Isolation erfordert diese Erweiterung wenig oder gar keine Änderungen an Ihrem Code.

Wenn Sie eine WPF .NET Anwendung haben, haben Sie auch Zugriff auf moderne Windows-Plattformfunktionen und APIs, die vom Windows App SDK bereitgestellt werden. Weitere Informationen finden Sie unter Verwenden Sie das Windows App SDK in einer WPF-Anwendung und Modernisieren Sie Ihre Desktopanwendungen.

Tipp

Wenn Sie weitere Hilfe bei der Entscheidung benötigen, welches Framework für Ihre Anwendung am besten geeignet ist, lesen Sie das Schulungsmodul Auswahl des besten Anwendungs-Frameworks für ein Windows-Entwicklungsprojekt.

Andere Optionen für native Plattformen

Viele Anwendungen für Windows werden mit Win32, Windows Forms oder UWP geschrieben. Jedes dieser Frameworks wird unterstützt und erhält weiterhin Fehler-, Zuverlässigkeits- und Sicherheitskorrekturen, aber unterschiedlich hohe Investitionen für neue Funktionen und Stile. Weitere Informationen zu diesen App-Typen finden Sie auf den folgenden Registerkarten.

Win32-Desktop-Apps (auch als klassische Desktop-Apps bezeichnet) sind der ursprüngliche App-Typ für native Windows-Anwendungen, die direkten Zugriff auf Windows und Hardware erfordern. Dies macht Win32 zur ersten Wahl für Anwendungen, die ein Höchstmaß an Leistung und direkten Zugriff auf die Systemhardware benötigen.

Die Verwendung der Win32-API mit C++ ermöglicht es, ein Höchstmaß an Leistung und Effizienz zu erreichen, da die Zielplattform mit nicht verwaltetem Code besser kontrolliert werden kann als in einer verwalteten Laufzeitumgebung wie WinRT und .NET. Einen solchen Grad an Kontrolle über die Ausführung Ihrer Anwendung auszuüben, setzt jedoch größere Sorgfalt und Aufmerksamkeit voraus, um Fehler zu vermeiden, und tauscht Entwicklungsproduktivität gegen Laufzeitleistung ein.

Hier finden Sie einige Highlights der Win32-API mit C++, die Ihnen die Erstellung von Hochleistungsanwendungen ermöglichen.

  • Optimierungen auf Hardwareebene, einschließlich strenger Kontrolle der Ressourcenzuordnung, Objektlebensdauer, Datenlayout, Ausrichtung, Bytepakete und mehr.
  • Zugriff auf leistungsorientierte Anweisungssätze wie SSE und AVX durch intrinsische Funktionen.
  • Effiziente, typsichere generische Programmierung mithilfe von Vorlagen.
  • Effiziente und sichere Container und Algorithmen.
  • DirectX, insbesondere Direct3D und DirectCompute.
  • Verwenden Sie C++/WinRT, um moderne Win32-Desktop-Apps mit erstklassigem Zugriff auf Windows-Runtime-APIs (WinRT) zu erstellen.

Darüber hinaus können Sie jetzt eine Sandboxumgebung in Ihre Win32-Anwendungen integrieren und auf diese Weise eine zusätzliche Sicherheitsebene bereitstellen. Dank der neuen Sicherheitsfunktion Win32 App Isolation erfordert diese Erweiterung wenig oder gar keine Änderungen an Ihrem Code.

Sie haben auch Zugriff auf moderne Windows-Plattformfeatures und -APIs, die vom Windows App SDK bereitgestellt werden. Weitere Informationen finden Sie unter Verwenden Sie das Windows App SDK in einem bestehenden Projekt und Modernisieren Sie Ihre Desktop-Anwendungen.

Plattformübergreifende Optionen

Wenn Ihre App plattformübergreifend ausgeführt werden soll, sollten Sie .NET MAUI, eine Progressive Web-App (PWA), oder React Native für Windows in Betracht ziehen. Es gibt noch viele andere Möglichkeiten (, hier eine Liste beliebter Optionen), aber dies sind einige gute Ausgangspunkte.

.NET MAUI nutzt die Leistungsfähigkeit von WinUI unter Windows, ermöglicht aber auch die Ausführung auf anderen Betriebssystemen. Mit React Native für Windows können Sie Apps schreiben, die auf allen von Windows 10 und Windows 11 unterstützten Geräten (nicht nur PCs) laufen. Als weitere plattformübergreifende Option sind Progressive Web-Apps (PWAs) Websites, die wie installierte, native Apps unter Windows und anderen unterstützten Plattformen funktionieren, während sie wie normale Websites in Browsern verwendet werden können.

Weitere Informationen finden Sie auf den folgenden Registerkarten.

.NET Multi-Platform App UI (MAUI) ist ein plattformübergreifendes Open Source-Framework zum Erstellen von Android-, iOS-, macOS- und Windows-Anwendungen, die die native Benutzeroberfläche und die Dienste jeder Plattform aus einer einzigen .NET-Codebasis nutzen. Da .NET MAUI plattformeigene Erfahrungen bevorzugt, verwendet es WinUI und das Windows App SDK, damit Anwendungen die neueste Benutzererfahrung auf Windows erhalten. Damit haben Ihre Anwendungen Zugriff auf alles, was Sie mit WinUI erhalten, und können zusätzlich andere Plattformen erreichen.

.NET MAUI für Windows ist eine gute Wahl, wenn Folgendes zutrifft:

  • Sie möchten so viel .NET-Code wie möglich für mobile Anwendungen und Desktopanwendungen gemeinsam nutzen.
  • Sie möchten Ihre Anwendung über Windows hinaus an andere mobile und Desktopziele mit nativen Plattformerfahrungen ausliefern.
  • Sie möchten C# und/oder XAML zum Erstellen plattformübergreifender Apps verwenden.
  • Sie verwenden Blazor für die Webentwicklung und möchten dies vollständig oder teilweise in eine mobile oder Desktopanwendung einschließen.

Weitere Informationen zu .NET MAUI finden Sie unter den folgenden Links:

Vergleich der Funktionen von App-Entwicklungssystemen

Es gibt eine Vielzahl von Optionen für die Entwicklung von Anwendungen für Windows. Welche Option für Sie die beste ist, hängt von Ihren Anwendungsanforderungen, Ihrem vorhandenen Code und Ihrer Vertrautheit mit der Technologie ab. In der folgenden Tabelle sind die am häufigsten verwendeten App-Entwicklungsframeworks unter Windows und die von den einzelnen Frameworks unterstützten Funktionen aufgeführt.

Funktion .NET MAUI Blazor Hybrid React Native (RNW) UWP XAML (Windows.UI.Xaml) Win32 (MFC oder ATL) Windows Forms WinUI 3 WPF
Sprache C# C# JavaScript, TypeScript C#, C++, Visual Basic C++, Rust C#, Visual Basic C#, C++ C#, Visual Basic
UI_Sprache XAML/Code: Razor JSX XAML Code Code XAML XAML
UI-Designer
(Ziehen und Ablegen)
Benutzeroberflächen-Debugging Hot Reload Hot Reload Schnelle Aktualisierung Hot Reload - Hot Reload Hot Reload Hot Reload
Fluent Design ✅ (über WinUI 2)
.NET .NET .NET N/V .NET Core und .NET Native N/V .NET und .NET Framework .NET .NET und .NET Framework
Windows-App-SDK ✅ (weitere Informationen) via MAUI ✅ (weitere Informationen) ✅ (weitere Informationen) ✅ (weitere Informationen)
Ideal für Toucheingabe
Plattformübergreifend
Xbox/HoloLens-Apps
Sandboxing (AppContainer)
Derzeit unterstützt
Empfangen von Updates ✅ (Sicherheit und Fehlerbehebung)
Roadmap GitHub GitHub GitHub GitHub GitHub GitHub

Weitere Informationen zu den folgenden Optionen:

Nächste Schritte