Ü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 Vielzahl von Sprachen, Frameworks und Tools zum Erstellen von Apps, einschließlich WinUI, React Native für Desktop, WPF, C++, C#, .NET und einer Vielzahl plattformübergreifender 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.
React Native für Desktop
React Native ist eine Entwicklungsplattform, mit der Sie plattformübergreifende Apps erstellen können. React Native for Desktop umfasst React Native für Windows und macOS, wodurch React Native-Unterstützung in das Windows SDK integriert wird. Mit React Native for Desktop können Sie JavaScript verwenden, um systemeigene Windows-Apps für alle Geräte zu erstellen, die von Windows 10 und Windows 11 unterstützt werden. Dazu gehören PCs, Tablets, 2-in-1-Geräte, Xbox, Mixed Reality-Geräte usw.
Mit React Native for Desktop schreiben Sie den großteil oder den gesamten App-Code in JavaScript – oder TypeScript – und das Framework erzeugt eine systemeigene UWP-XAML-Anwendung. Wenn Ihre App eine Plattform-API aufrufen muss, können Sie dazu in der Regel eines der vielen Communitymodule verwenden, oder wenn noch kein Modul existiert, können Sie einfach ein natives Modul schreiben und bereitstellen.
Hier sind einige Gründe für die Auswahl von React Native für Desktop:
- Sie möchten Code so weit wie möglich plattformübergreifend teilen, oder Sie verfügen über Webeigenschaften, für die Sie Code freigeben möchten.
- Verbesserte Entwicklerproduktivität und innere Schleife dank schneller Aktualisierung.
- Die Grundlagen Ihrer App (Leistung, Barrierefreiheit, Internationalisierung) sind genauso gut wie bei einer nativen UWP-App.
- Sie verfügen über Erfahrung mit JavaScript oder TypeScript und bevorzugen diese Sprache.
- Sie möchten reine JavaScript-Bibliotheken für npmjs.com und auch viele native Bibliotheken nutzen.
- Ihre App verwendet die nativen Steuerelemente, die visuelle Darstellung, Animationen und Farben und wirkt daher wie integriert in die in Windows verwendete Entwurfssprache. Darüber hinaus müssen React Native für Desktop-Apps keine Kompromittierung für die Gruppe von APIs ausführen, die sie aufrufen können, da Sie im Framework Plattform-APIs aufrufen sowie Eigene Ansichtsmanager und systemeigene Module schreiben können.
- Große und wachsende Community-Dynamik mit vielen Communitymodulen.
Weitere Informationen zu React Native für Desktop finden Sie unter den folgenden Links:
- React Native für Windows-Repository auf GitHub
- React Native für macOS-Repository auf GitHub
- API-Referenz
- React Native for Desktop-Ressourcen
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.
Tipp
Wenn Sie bereits in WPF investiert haben, können Sie es weiterhin verwenden und die Modernisierungsoptionen in .NET 9 nutzen. Sie können Ihre Apps erstellen, um zu wissen, dass Microsoft weiterhin in WPF investiert. Weitere Informationen finden Sie in den häufig gestellten Fragen für Windows-Entwickler.
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.
Weitere plattformübergreifende Optionen
Wenn Ihre App plattformübergreifend sein muss, sollten Sie zusätzlich zu React Native for Desktop .NET MAUI oder eine Progressive Web App (PWA) 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. 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 für Desktop | 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:
- Häufig gestellte Fragen für Windows-Entwickler
- .NET Multi-platform App UI (.NET MAUI)
- ASP.NET Core Blazor Hybrid
- React Native für Desktop
- Universelle Windows-Plattform (UWP)
- Empfehlungen für die Wahl zwischen ATL und MFC
- Windows Forms
- Windows Presentation Foundation (WPF)
- WinUI im Windows App-SDK (WinUI 3)
Nächste Schritte
- Verwenden Sie WinUI, um mit der Entwicklung von Anwendungen für Windows zu beginnen
WinUI ist die von uns empfohlene Plattform für Windows-Anwendungen, und mit diesen Schritten können Sie schnell loslegen.
- Einrichten der Entwicklungsumgebung unter Windows
Windows eignet sich nicht nur für die Entwicklung von Anwendungen, die unter Windows laufen, sondern ist auch eine leistungsstarke Umgebung für die Entwicklung von Anwendungen für jede Plattform. Erfahren Sie mehr über die verfügbaren Tools und Optionen zur Optimierung Ihrer Entwicklung.
Windows developer