Bearbeiten

Freigeben über


Windows-Entwickler – häufig gestellte Fragen

Dieser Artikel soll ein allgemeines Verständnis der Windows-Entwicklungserfahrung und der Produktausrichtung vermitteln.

Erste Schritte

Womit sollte ich Windows Apps erstellen?

Für die Entwicklung von Windows-Desktop-Anwendungen empfehlen wir WinUI 3 und das Windows App SDK. WinUI enthält moderne Steuerelemente und Stile für die Erstellung von Windows-Apps, die die Vorteile der neuesten Windows 11-Funktionen nutzen und bis zu Windows 10, Version 1809, funktionieren.

Je nachdem, was Sie entwickeln und wie Sie es entwickeln, können andere Optionen besser geeignet sein:

  • Wenn Windows App SDK/WinUI 3 Ihre Anforderungen nicht erfüllen, WPF könnte.
  • Wenn Sie eine plattformübergreifende App anvisieren: Mit React Native und .NET MAUI können Sie plattformübergreifende Apps erstellen. .NET MAUI ist eine ausgezeichnete Wahl für C#-Entwickler. React Native wird JavaScript-/TypeScript-Entwicklern vertraut vorkommen.
  • Wenn Sie ein Webentwickler sind: Sie können WebView2 als Anwendungshost verwenden. Dadurch können Sie Webtechnologie verwenden, um Desktop-Apps zu erstellen, die auf die Windows SDK- und Windows App SDK-APIs zugreifen können. Sie können auch React Native für Desktop verwenden.
  • Wenn Sie ein C++-Entwickler sind: Für Desktop-Apps sind Windows App SDK und WinUI 3 eine ausgezeichnete Wahl. Wenn Sie ein Spiel entwickeln, sollten Sie DirectX verwenden.
  • Wenn Sie ein Rust-Entwickler sind: Schauen Sie sich Rust für Windows an.

Es gibt andere Entwicklungstechnologien, die je nach Ihren Anforderungen und technologischen Vorlieben möglicherweise besser geeignet sind. Siehe Übersicht über die Rahmenoptionen.

Wo finde ich einen einfachen Vergleich von Windows-Entwicklungstechnologien?

Windows App SDK/WinUI 3

Was ist das Windows-App SDK?

Das Windows App SDK ist eine Windows-Anwendungsentwicklungsplattform, mit der Sie schöne, moderne und (bis zu Windows 10 1809) abwärtskompatible Desktop-Apps erstellen können. WinUI 3 ist das im Lieferumfang des Windows App SDK enthaltene Benutzeroberflächenframework.

Was ist der Unterschied zwischen dem Windows App SDK und dem Windows SDK?

Beide sind Softwareentwicklungskits (Software Development Kits, SDKs), mit denen Sie Windows-Apps erstellen können.

Das Windows App SDK ist eine neue Entwicklungsplattform, die Ihnen das Erstellen moderner Desktop-Apps ermöglicht, die unter Windows-Versionen (bis zu Windows 10 1809) installiert werden können. Wenn Sie Windows App SDK zum Erstellen einer App verwenden, haben Sie Zugriff auf die neuesten Windows-Entwicklungsplattformfeatures. Das Windows App SDK enthält WinUI 3.

Das Windows SDK ist eine Entwicklungsplattform, mit der Sie UWP-Apps und Win32-/Desktop-Apps erstellen können. Es ist auf Windows-APIs ausgelegt, die an bestimmte Versionen des Betriebssystems gekoppelt sind.

Das Windows App SDK ersetzt nicht das Windows SDK. Vielmehr ist das Windows App SDK eine Ergänzung zum Windows SDK. Es bietet eine komfortable, vom Betriebssystem entkoppelte Abstraktion um den umfangreichen Katalog von Windows-Betriebssystem-APIs, auf die Sie bereits mit dem Windows SDK zugreifen können. Wenn Sie Apps mit dem Windows App SDK erstellen, verwenden Sie je nach benötigter Funktionalität möglicherweise einige Windows SDK-APIs. Im Laufe der Zeit werden weitere Windows SDK-Funktionen in das Windows App SDK aufgenommen.

Kann ich Windows App SDK/WinUI 3 in meiner vorhandenen Windows-App verwenden?

Beachten Sie, dass WinUI 3 (ein Benutzeroberflächenframework) im Lieferumfang des Windows App SDK (ein Windows-Plattformentwicklungsframework) enthalten ist.

Im Allgemeinen können Sie WinUI 3 nur verwenden, wenn Sie bereit sind, Ihr Benutzeroberflächenframework vollständig zu migrieren. Wir arbeiten an einer Funktion namens XAML Islands, mit der Sie WinUI 3-Inhalte in anderen UI-Frameworks (WPF, Win32) hosten können.

Sie sollten Elemente des Windows App SDK in jeder Win32-/Desktop-App verwenden können, je nachdem, wie Ihre vorhandene App erstellt wurde. UWP-Apps werden von Windows App SDK/WinUI 3 nicht unterstützt.

Dies bedeutet, dass WPF/MFC/WinForms-Apps Windows App SDK-APIs verwenden können, die nicht mit WinUI 3 in Verbindung stehen. Beispiele für solche APIs sind App Lifecycle (App-Lebenszyklus), Windowing und Toast Notifications (Popupbenachrichtigungen).

Muss ich zum Erstellen von WinUI 3-Apps Visual Studio verwenden?

Es wird dringend empfohlen, Visual Studio 2022 17.1 oder eine höhere Version für die Entwicklung von Apps mit Windows App SDK/WinUI 3 zu verwenden. Wenn Sie die neueste Version von Visual Studio verwenden, haben Sie Zugriff auf umfassende Entwicklungsfeatures wie Hot Reload.

Möglicherweise können Sie auch andere IDEs und Entwicklungs-Workflows verwenden, aber Visual Studio ist derzeit die einzige offiziell unterstützte IDE für Windows App SDK/WinUI 3. Beachten Sie, dass MSBuild erforderlich ist, um Projekte zu kompilieren, die XAML oder Windows App SDK/WinUI 3 verwenden.

Wenn ich eine App mit Windows App SDK/WinUI 3 erstelle, ist das dann eine „WinUI 3-App“?

Ja, „WinUI 3-App“ ist der von uns empfohlene Begriff.

Kann ich meine WinUI 2-App inkrementell auf WinUI 3 aktualisieren, indem ich WinUI 2-Komponenten schrittweise durch WinUI 3-Komponenten ersetze?

Nein. Windows App SDK kann nicht für UWP-Apps verwendet werden, und WinUI 2 kann nicht mit WinUI 3 kombiniert werden. Siehe Migrieren von UWP zum Windows App SDK.

Wie schwer ist es, eine UWP-App zum Windows App SDK bzw. zu WinUI 3 zu migrieren?

Das Migrieren von Benutzeroberflächenkomponenten ist üblicherweise nicht kompliziert (für C# und C++/WinRT). Ansonsten hängen die Kosten der Migration von UWP zum Windows App SDK bzw. zu WinUI 3 hauptsächlich von folgenden Faktoren ab:

  1. Anpassung der Projektdatei sowie von MSBuild: Die Migration Ihres Projekts kann abhängig von der Verwendung erweiterter MSBuild-Features mit einem erheblichen Aufwand verbunden sein.
  2. .NET API-Migration: Wenn Ihre UWP-Anwendung auf .NET basiert, müssen Sie ein Upgrade auf .NET 6 oder höher durchführen. In den meisten Fällen ist die Einführung von .NET 6 unkompliziert.
  3. UI-Komponentenbibliotheken: Wenn Sie UI-Komponentenbibliotheken verwenden, benötigen Sie neue Versionen dieser Bibliotheken, die auf WinUI 3 ausgerichtet sind.
  4. Wenn Ihr UWP-Quellcode in der inzwischen ersetzten Programmiersprache C++/CX geschrieben wurde, ist eine Quellcodeportierung erforderlich. Weitere Informationen finden Sie unter Umstellen von C++/CX auf C++/WinRT.

Weitere Informationen zur UWP-Migration finden Sie unter Migrieren von UWP zum Windows App SDK.

Wenn ich über eine vorhandene UWP-App im Store verfüge, kann ich dann eine neue gepackte WinUI 3-App mit denselben Bezeichnern veröffentlichen?

Ja, aktualisierte Apps können veröffentlicht werden, ohne dass die Identität Ihrer Anwendung aktualisiert werden muss. Benutzer, die über die alte Version verfügen, werden auf die neue Version aktualisiert. Diese Anleitung gilt nur für Desktop-Apps. Xbox-, HoloLens- und Surface Hub-Anwendungen können nicht zu WinUI 3 migriert werden.

Wie packe/verteile ich meine WinUI 3-App?

Wo finde ich eine Anleitung zur Migration zum Windows App SDK?

Muss ich XAML-Markup verwenden, wenn ich WinUI 3 verwenden möchte?

Nein. UI-Steuerelemente können im Code erstellt werden. Die Darstellung Ihrer WinUI 3-Benutzeroberfläche in Form von deklarativem XAML-Markup bietet jedoch viele Vorteile, z. B. eine verbesserte Benutzerfreundlichkeit für Entwickler.

Wenn Sie von UWP zu WinUI 3 migrieren, können Sie wahrscheinlich einen Großteil Ihres XAML-Markups und benutzeroberflächenbezogenen Codes wiederverwenden (aber Sie müssen einen Teil der Syntax aktualisieren). Wenn Sie von WPF zu WinUI 3 migrieren, können Sie viele der Konzepte wiederverwenden, aber die Steuerelemente und die APIs unterscheiden sich.

Verfügt Visual Studio über eine Entwurfsoberfläche/einen GUI-Designer für WinUI 3?

Nein. Wir wissen, dass dies eine Lücke im Bereich der WinUI 3-Entwickleroberfläche ist. Tools wie XAML Hot Reload können in vielen Szenarien hilfreich sein.

Enthält das Windows App SDK WinUI 3?

Ja. WinUI 3 ist im Lieferumfang des Windows App SDK enthalten.

Enthält das Windows App SDK WinUI 2?

Nein. WinUI 2 ist Teil der UWP-Plattform.

Basieren WinUI 2 und WinUI 3 auf derselben Technologie?

Das trifft nicht vollständig zu. Obwohl WinUI 3 ausgehend von der WinUI 2-Codebasis entwickelt wurde, handelt es sich um unterschiedliche Technologien. Sowohl WinUI 2 als auch WinUI 3 sind XAML-basierte Benutzeroberflächenframeworks, die mit .NET und C++ funktionieren. Beachten Sie, dass WinUI 2 und WinUI 3 nicht miteinander kompatibel sind.

Kann ich WinUI 3 ohne das Windows App SDK verwenden?

Nein. WinUI 3 ist im Lieferumfang des Windows App SDK enthalten.

Kann ich WinUI 3 in einer nicht gepackten App verwenden?

Ja. Alle Technologien im Windows App SDK funktionieren in nicht gepackten Apps, einschließlich WinUI 3.

Was ist der Unterschied zwischen XAML Islands und WinUI 3?

Mit XAML Islands können Sie moderne WinUI-Steuerelemente zusammen mit vorhandenen Win32-Benutzeroberflächen aus anderen Frameworks wie WinForms und WPF hosten. XAML Islands wird bereits für die meisten System-XAML- und WinUI 2-Steuerelemente unterstützt. Siehe Hosten von XAML XAML-Steuerelementen in Desktop-Apps (XAML Islands) für weitere Informationen. XAML Islands Unterstützung für WinUI 3 Steuerelemente ist ab Windows App SDK 1.4 verfügbar.

Wenn ich WinUI 3 verwende, sieht meine App dann sowohl unter Windows 11 als auch unter Windows 10 modern aus?

Ja, die Benutzeroberfläche Ihrer App erbt die neuesten Entwurfsprinzipien der Fluent-Benutzeroberfläche in allen unterstützten Versionen von Windows 11 und Windows 10 bis einschließlich Version 1809 in Szenarien mit gepackten und nicht gepackten Apps.

Kann ich Mica- oder Acryl-Hintergründe in Anwendungen verwenden, die mit Windows App SDK erstellt wurden?

Wo finde ich WinUI 3-Beispiele?

Siehe Muster und Ressourcen. Einige wichtige Repositorys:

UWP und WinUI 2

Können UWP-Apps außerhalb des Microsoft Store verteilt werden?

Ja. Wenn Ihr MSIX-Paket signiert ist, muss das Signierzertifikat auf dem Zielgerät gültig und vertrauenswürdig sein.

Kann ich UWP-XAML-UI-Steuerelemente mit Win32-, WPF- oder WinForms-UI-Steuerelementen kombinieren?

Ja. Das ist mit XAML Islands möglich. Erfahren Sie mehr über XAML Islands.

Plattformübergreifende Entwicklung

Kann ich mit WinUI 3 und App SDK beginnen und später .NET MAUI integrieren, wenn ich mich für plattformübergreifende Szenarien entscheiden sollte?

Derzeit leider nicht. Obwohl .NET MAUI-Apps windows App SDK / WinUI 3 verwenden, wenn sie unter Windows ausgeführt werden, empfehlen wir, mit .NET MAUI oder React Native für Desktop zu beginnen, wenn Sie davon ausgehen, dass mehrere Plattformen verwendet werden müssen.

Was sollte ich verwenden, wenn ich Apps erstellen möchte, die unter Windows und auf der Xbox funktionieren?

Wenn Ihre App Xbox, HoloLens oder IoT unterstützen muss, empfehlen wir die Verwendung von UWP. Windows App SDK unterstützt diese Plattformen nicht. Für die Entwicklung von Spielen empfehlen wir die Verwendung des Microsoft Game Development Kit.

Was sollte ich verwenden, wenn ich Apps erstellen möchte, die unter Windows und auf Surface Hub funktionieren?

Wenn Sie sowohl auf Windows als auch auf Surface Hub abzielen, empfehlen wir die Verwendung von UWP.

Wie erstelle ich progressive Web-Apps (PWAs) mit nativem Charakter unter Windows?

Paketerstellung, Bereitstellung und Aktualisierungen

Worin besteht der Unterschied zwischen gepackten Apps, nicht gepackten Apps und gepackten Apps mit externem Speicherort?

Definitionen von gepackten Apps, nicht gepackten Apps und gepackten Apps mit externem Speicherort finden Sie unter Bereitstellungsübersicht. In diesem Artikel werden auch die Vor- und Nachteile der jeweiligen Option erläutert.

Wird meine WinUI 3-App für Endbenutzer automatisch aktualisiert?

Eine Windows App SDK-/WinUI 3-App kann über den Store, eine „AppInstaller“-Datei oder in Ihrem vorhandenen MSI- oder „setup.exe“-Paket bereitgestellt werden. Store und AppInstaller unterstützen automatische Updates für Endbenutzer, die automatische Updates aktiviert haben, aber Ihre MSI/„setup.exe“-App muss über einen eigenen Updater verfügen.

Kann ich das Windows App SDK ohne MSBuild verwenden?

Im Allgemeinen ist dies nicht möglich. WinUI 3 und Windows App SDK erfordern MSBuild, weshalb Visual Studio eine Voraussetzung für die Entwicklung von Windows App SDK/WinUI 3 Anwendungen ist. Es ist zwar technisch möglich, mit anderen Toolchains Windows App SDK-Anwendungen zu erstellen, die nicht WinUI 3 verwenden, aber dies wird nicht unterstützt.

Leistung und Optimierung

Was kann ich tun, um die Benutzerfreundlichkeit meiner Windows-App für Endbenutzer zu optimieren?

Kompatibilität

Müssen meine Benutzer eventuell Windows aktualisieren, um meine Windows App SDK-/WinUI 3-App verwenden zu können?

Benutzer, die über Windows 10, Version 1809 und höher verfügen, können Ihre WinUI 3-/Windows App SDK-Apps installieren, ohne das Betriebssystem aktualisieren zu müssen.

Kann ich für meine WinUI 3-App auch ARM64 auswählen?

Ja.

Veraltete Versionen und Migrationen

Sind UWP und WinUI 2 veraltet?

Nein. UWP und WinUI 2 werden weiterhin unterstützt und erhalten Fehlerkorrekturen, Zuverlässigkeitsupdates und Sicherheitspatches. Die meisten neuen Features und Funktionen, einschließlich der Unterstützung für die neuesten .NET-Runtimes, werden jedoch nur zu(m) Windows App SDK/WinUI 3 hinzugefügt.

Wann sollte ich eine UWP-/WinUI 2-App zu WinUI 3 migrieren?

UWP-Entwickler sollten keinen Druck verspüren, ihre Apps zum Windows App SDK migrieren zu müssen, wenn sie mit UWP und den zugehörigen Features zufrieden sind. Einige Apps sollten möglicherweise niemals migriert werden. Wenn Sie möchten, dass Ihre Apps von den neuesten Microsoft-Investitionen in die Windows-Plattform und .NET profitieren, sollten Sie eine Migration zum Windows App SDK in Betracht ziehen. Siehe Migrieren von UWP zum Windows App SDK.

Wann sollte ich eine UWP-/WinUI 2-App *nicht* zu WinUI 3 migrieren?

Es wird empfohlen, weiterhin UWP zu verwenden, wenn Sie Apps für Xbox, Surface Hub oder HoloLens erstellen.

Ist WPF veraltet?

Nein. WPF wird weiterhin unterstützt und erhält auch einige Featureupdates.

Ist WinForms veraltet?

Nein. WinForms wird weiterhin unterstützt und erhält auch einige Featureupdates.

Ist die Windows-Runtime (WinRT) veraltet?

Nein. WinRT bezieht sich auf eine binäre Anwendungsschnittstelle (Application Binary Interface, ABI), die die Interoperabilität zwischen mehreren Sprachen ermöglicht. WinRT ist die Weiterentwicklung von COM. Das Windows App SDK stellt die meisten Funktionen über WinRT-APIs bereit.

Versionshinweise

Wo finde ich Versionshinweise für das Windows App SDK?