Bearbeiten

Windows-Entwickler – häufig gestellte Fragen

Dieser Artikel soll ein allgemeines Verständnis der Windows-Entwicklungserfahrung und der Produktausrichtung vermitteln. Die Antworten auf diese Fragen gelten für Windows App SDK Version 1.0.

Erste Schritte

Womit sollte ich Windows Apps erstellen?

Für die Entwicklung von Windows-Desktopanwendungen stellt die Kombination aus Windows App SDK und WinUI 3 eine ausgezeichnete Wahl dar. Diese Kombination von Technologien ist der Nachfolger von UWP/WinUI 2 für Desktop-Apps.

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

  • Wenn Windows App SDK / WinUI 3 nicht Ihren Anforderungen entsprechen, könnte UWP / WinUI 2 die Lösung sein.
  • 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 Windows 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. Erfahren Sie mehr über die Auswahl einer Entwicklungstechnologie.

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 einem Feature namens XAML Islands, mit dem Sie WinUI 3-Inhalte in anderen Benutzeroberflächenframeworks (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.

Sie können auch andere IDEs und Entwicklungsworkflows verwenden, aber Visual Studio ist derzeit die einzige offiziell unterstützte IDE für Windows App SDK/WinUI 3. Beachten Sie, dass MSBuild zum Kompilieren von Projekten erforderlich ist, 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 Informationen zur Migration 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-App auf .NET basiert, müssen Sie ein Upgrade auf .NET 6 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 Informationen zur Migration 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-Apps können noch 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. Weitere Informationen finden Sie hier . Die Unterstützung von XAML Islands für WinUI 3-Steuerelemente befindet sich derzeit in der Entwicklung.

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-basierte (Windows 11) oder acrylbasierte (Windows 10) Hintergründe in Apps verwenden, die mit dem Windows App SDK erstellt wurden?

Bisher nicht. Dies befindet sich derzeit in der Entwicklung.

Wo finde ich WinUI 3-Beispiele?

Siehe Beispielanwendungen für die Windows-Entwicklung. Einige wichtige Repositorys:

  • WindowsAppSDK-Beispiele: Veranschaulicht die Verwendung bestimmter Windows App SDK-API-Sätze.
  • WinUI 3-Demos: Enthält Demos, die bei WinUI 3-Präsentationen von Microsoft verwendet werden.
  • XAML-Steuerelementekatalog: Zeigt Beispiele für WinUI 3 und Windows App SDK. Beachten Sie, dass dies auf den winui3-Zweig des Repositorys für den XAML-Steuerelementekatalog verweist. Beachten Sie auch, dass der XAML-Steuerelementekatalog im Store veröffentlicht ist.

UWP und WinUI 2

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

Ja. Wenn Ihr MSIX-Paket signiert ist, muss das Signaturzertifikat 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 bei der Ausführung unter Windows das Windows App SDK und WinUI 3 verwenden, empfehlen wir, mit .NET MAUI oder React Native für Windows zu beginnen, wenn Sie voraussichtlich mehrere Plattformen verwenden 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 das Windows App SDK erfordern MSBuild, weshalb Visual Studio eine Voraussetzung für die Windows App SDK-/WinUI 3-Anwendungsentwicklung ist. Es ist zwar technisch möglich, Windows App SDK-Apps, die WinUI 3 nicht verwenden, mit anderen Toolketten zu erstellen, dies wird jedoch 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?