Freigeben über


Häufig gestellte Fragen zur Entwicklung von Windows-Apps

Diese häufig gestellten Fragen zur Entwicklung von Windows-Anwendungen enthalten Antworten auf häufig gestellte Fragen zur Entwicklung von Windows-Anwendungen, einschließlich Anleitungen zur Auswahl des richtigen Frameworks für Ihre Projekte. Folgende Themen werden behandelt:

  • Erste Schritte und die Windows-App-Entwicklungslandschaft.
  • Native Windows-only-App-Entwicklung mit WinUI, Windows Presentation Foundation (WPF) und Windows Forms (WinForms).
  • Windows Software Development Kit (SDK) und Windows App SDK.
  • Zielbestimmung von Windows als Teil Ihrer plattformübergreifenden Entwicklungsstrategie.
  • Hybrid- und Web-App-Entwicklung mit .NET MAUI, Blazor und ASP.NET Core.
  • Wählen Sie einen Ansatz aus, während Sie die Investitionen von Microsoft verstehen.

Windows-App-Entwicklungslandschaft

Wo finde ich eine einfache Übersicht über Windows-Entwicklungstechnologien?

Eine großartige Übersicht über die heutigen Optionen für Windows-Entwickler finden Sie in der neuesten Windows Dev Chat Episode, Auswählen Ihrer idealen Entwicklerplattform, wo sie WinUI, .NET MAUI, React Native, Blazor und Progressive Web Apps (PWAs) diskutieren.

Sie können auch die Übersicht über die App-Entwicklungsoptionen für Windows-Entwickler finden.

Warum ist die Entwicklung von Client-Apps für die moderne digitale Transformation im Zeitalter der Clouddienste immer noch von entscheidender Bedeutung?

Im Zeitalter der Clouddienste ist die Entwicklung von Client-Apps weiterhin ein wichtiger Bestandteil der modernen digitalen Transformation. Für Entwickler ist das Erstellen von Clientanwendungen nicht nur für die Reichweite unerlässlich, sondern für die Bereitstellung reaktionsfähiger, aussagekräftiger Interaktionen auf Benutzergeräten.

Dies ist der Grund, warum Client-Apps wichtig sind:

  • Gerätereichweite: Mit über 1,5 Milliarden Windows-Geräten und mehr als 5 Milliarden Android- und iOS-Geräten können Sie Ihre Anwendungen direkt auf ihren Geräten ihrer Wahl an Benutzer übertragen.
  • Gateway zu intelligenten Diensten: Client-Apps sind häufig die ersten Interaktionsbenutzer mit Ihren Diensten. Sie bieten eine reichhaltige, interaktive Oberfläche, mit der Sie intelligente Features präsentieren und Ihr Produkt von anderen unterscheiden können.
  • Skalierbarkeit mit Cloudintegration: Eine gut integrierte Client-App kann mühelos mit Back-End-Clouddiensten synchronisiert werden, wodurch Echtzeitdatenzugriff und nahtlose Skalierbarkeit ermöglicht werden, wenn Ihre Benutzerbasis wächst.
  • verbesserte Produktivität und Benutzerbindung: Eine durchdachte App kann die Produktivität steigern und die Benutzer im Laufe der Zeit mit Ihrem Produkt oder Service beschäftigen.

Entwicklung systemeigener Nur-Windows-Apps

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 ist das Benutzeroberflächenframework, das im Windows App SDK enthalten ist.

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. Beim Erstellen mit dem Windows App SDK sind die neuesten Features der Windows-Entwicklungsplattform verfügbar. Das Windows App SDK enthält WinUI.

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. Stattdessen ergänzt das Windows App SDK das Windows SDK. Es bietet eine bequeme, vom Betriebssystem entkoppelte Abstraktion um den umfangreichen Katalog von Windows-Betriebssystem-APIs, die bereits über das Windows SDK zugänglich sind. Apps, die mit dem Windows App SDK erstellt wurden, verwenden möglicherweise weiterhin Windows SDK-APIs, je nach Funktionalitätsanforderungen. Im Laufe der Zeit werden weitere Windows SDK-Funktionen in das Windows App SDK verschoben.

Ich baue ein neues Team, um eine Nur-Windows-App zu entwickeln. Warum sollte ich mich für die Entwicklung mit einem systemeigenen Windows-Framework wie WinUI, WPF oder WinForms entscheiden?

Hier sind einige Gründe für die Auswahl eines systemeigenen Windows-Frameworks für Ihre Nur-Windows-App:

  • Leistung: Systemeigene Windows-Frameworks sind für die Nutzung moderner Windows-Hardware optimiert und bieten schnelle und reaktionsfähige Benutzeroberflächen.
  • Integration: Windows wird mit einer Vielzahl von APIs ausgeliefert, die anspruchsvolle Erfahrungen nur unter Windows ermöglichen. Systemeigene Frameworks bieten eine umfassende Integration mit diesen Features und APIs.
  • Native Benutzeroberfläche: Systemeigene Frameworks bieten eine einheitliche Oberfläche auf allen Windows-Geräten, um sicherzustellen, dass Ihre App überall gut aussieht und funktioniert.
  • Offlineunterstützung: Native Frameworks unterstützen Offlineszenarien, sodass Apps auch ohne Internetverbindung funktionieren können.
  • Monetisierung: Native Frameworks werden von Microsoft aktiv verwaltet und unterstützt, um den Zugriff auf die neuesten Updates und Features sicherzustellen.
Welches Framework sollte ich verwenden, um die neuesten Investitionen von Microsoft in die Entwicklung von Windows-Apps zu nutzen?

Wenn Sie eine neue Nur-Windows-App erstellen, empfehlen wir die Verwendung von WinUI. WinUI ist das neueste systemeigene Benutzeroberflächenframework für die Entwicklung von Windows-Apps und wurde entwickelt, um auf einer Vielzahl von Windows-Geräten zu arbeiten. Es bietet ein modernes und flexibles Benutzeroberflächenframework zum Erstellen visuell ansprechender und interaktiver Windows-Apps. WinUI ist Teil des Windows App SDK und funktioniert am besten mit den neuesten Versionen von Windows.

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

Beachten Sie, dass WinUI (ein UI-Framework) mit dem Windows App SDK (einem Windows-Plattformentwicklungsframework) ausgeliefert wird.

Im Allgemeinen kann WinUI nicht verwendet werden, es sei denn, die App ist bereit, das UI-Framework vollständig zu migrieren. Ein Feature namens XAML-Inseln wird entwickelt, um WinUI-Inhalte in anderen UI-Frameworks (WPF, Win32) zu hosten.

Elemente des Windows App SDK können häufig in Desktop-Apps verwendet werden, je nachdem, wie die vorhandene App erstellt wurde. UWP-Apps werden vom Windows App SDK nicht unterstützt.

Dies bedeutet, dass WPF/MFC/WinForms-Apps Windows App SDK-APIs verwenden können, die nicht mit WinUI verbunden sind. Beispiele sind App-Lebenszyklus, Fensterverwaltung und Toast-Benachrichtigungen.

Weitere Informationen finden Sie unter Verwenden des Windows App SDK in einem vorhandenen Projekt .

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

Die Verwendung von Visual Studio 2022, Version 17.10 oder höher, wird für die WinUI-Entwicklung dringend empfohlen. Die neuesten Visual Studio-Versionen bieten umfangreiche Entwicklungsfeatures wie Hot Reload und enthalten eine WinUI-Anwendungsentwicklungsworkload , die das Setup vereinfacht.

Andere IDEs und Workflows funktionieren möglicherweise, aber Visual Studio ist derzeit die einzige offiziell unterstützte IDE für WinUI. Beachten Sie, dass MSBuild zum Kompilieren von XAML- oder WinUI-Projekten erforderlich ist.

Was ist der Unterschied zwischen WinUI, WinUI 2 und WinUI 3?

WinUI ist das neueste systemeigene Benutzeroberflächenframework für die Entwicklung von Windows-Apps. Es bietet ein modernes und flexibles Benutzeroberflächenframework zum Erstellen visuell ansprechender und interaktiver Windows-Apps. WinUI ist Teil des Windows App SDK und funktioniert am besten mit den neuesten Versionen von Windows.

WinUI 2 ist eine Reihe von UI-Steuerelementen und Stilen, die auf UWP basieren. Es bietet ein modernes Erscheinungsbild für UWP-Apps und ist für Windows 10 konzipiert.

WinUI 3 war der frühere Name für WinUI, als es zum ersten Mal als Teil des Windows App SDK ausgeliefert wurde.

In der Zusammenfassung ist WinUI die neueste und fortschrittlichste Version des WinUI-Frameworks, WinUI 2 ist eine Steuerelementbibliothek für UWP, und WinUI 3 war eine frühere Bezeichnung für WinUI. Verwenden Sie "WinUI" künftig, es sei denn, Sie beziehen sich speziell auf WinUI 2.

Wenn ich eine App mit dem Windows App SDK und WinUI erstellt, erbaue ich eine "WinUI-App"?

Ja – "WinUI-App" ist der empfohlene Begriff. WinUI-Apps werden als "WinUI-Apps" bezeichnet, da WinUI 2 kein App-Typ ist, sondern eine Reihe von Komponenten, die in UWP-Apps verwendet werden.

Kann ich meine UWP-App mit WinUI 2-Steuerelementen schrittweise auf WinUI aktualisieren, indem winUI 2-Komponenten schrittweise durch WinUI-Komponenten ersetzt werden?

Nein. Windows App SDK kann nicht in UWP-Apps verwendet werden, und WinUI 2 kann nicht mit WinUI gemischt werden. Siehe Migrieren von UWP zum Windows App SDK.

Wie schwierig ist es, eine UWP-App zu WinUI zu migrieren?

Das Migrieren von Benutzeroberflächenkomponenten ist üblicherweise nicht kompliziert (für C# und C++/WinRT). Andernfalls hängt die Migrationskosten in erster Linie von:

  1. Project-Datei und MSBuild-Anpassung: Der Migrationsaufwand variiert je nach erweiterter MSBuild-Verwendung.
  2. .NET-API-Migration: UWP-Apps mit .NET müssen zu .NET 6 oder höher wechseln. In vielen Fällen ist die Einführung von .NET 6 einfach.
  3. Benutzeroberflächenkomponentenbibliotheken: Bibliotheken müssen Versionen für WinUI haben.
  4. Wenn die UWP-App in der jetzt veralteten C++/CX geschrieben wird, ist eine Quellcodeportierung erforderlich. Weitere Informationen finden Sie unter Umstellen von C++/CX auf C++/WinRT.

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

Wenn ich eine vorhandene UWP-App im Store habe, kann ich eine neue verpackte WinUI-App mit denselben Bezeichnern veröffentlichen?

Ja, aktualisierte Apps können veröffentlicht werden, ohne die Anwendungsidentität zu aktualisieren. Benutzer der alten Version werden auf die neue Version aktualisiert. Dies gilt nur für Desktop-Apps. Xbox-, HoloLens- und Surface Hub-Apps können nicht zu WinUI migriert werden.

Wie kann ich meine WinUI-App verpacken/verteilen?

Siehe Übersicht über die Bereitstellung.

Wo finde ich Anleitungen zur Migration des Windows App SDK?

Siehe Migrieren von UWP zum Windows App SDK.

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

Nein. UI-Steuerelemente können im Code erstellt werden. Die Darstellung der Benutzeroberfläche im deklarativen XAML-Markup bietet jedoch viele Vorteile, einschließlich einer verbesserten Entwicklerumgebung.

  • Migrieren von UWP zu WinUI: Viele XAML- und UI-Komponenten können wiederverwendet werden, obwohl einige Syntaxanpassungen erforderlich sind.
  • Migration von WPF zu WinUI: Viele Konzepte werden übernommen, die Steuerungssätze und APIs unterscheiden sich jedoch.
Verfügt Visual Studio über eine Entwurfsoberfläche/ einen UI-Designer für WinUI?

Noch nicht. Dies ist eine bekannte Lücke in der WinUI-Entwicklerumgebung. Tools wie XAML Hot Reload können in vielen Szenarien hilfreich sein. Die Arbeit hat begonnen an einem Visual Studio-UI-Designer für WinUI in Windows App SDK 1.7, aber es gibt noch keinen festen Zeitplan für die Veröffentlichung.

Enthält das Windows App SDK WinUI?

Ja. WinUI wird als Teil des Windows App SDK ausgeliefert.

Enthält das Windows App SDK WinUI 2?

Nein. WinUI 2 ist Teil der UWP-Plattform.

Basiert WinUI 2 und WinUI auf derselben Technologie?

Das trifft nicht vollständig zu. Obwohl WinUI ursprünglich von der WinUI 2-Codebasis gestartet wurde, sind sie unterschiedliche Technologien. Beide sind XAML-basierte UI-Frameworks, die in .NET und C++ funktionieren, aber WinUI 2 und WinUI sind nicht miteinander kompatibel.

Kann ich WinUI ohne Windows App SDK verwenden?

Nein. WinUI wird als Teil des Windows App SDK ausgeliefert.

Kann ich WinUI in einer entpackten App verwenden?

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

Was ist der Unterschied zwischen XAML-Inseln und WinUI?

Mit XAML-Inseln können Sie moderne XAML-basierte Steuerelemente zusammen mit vorhandenen Win32-Ui-Steuerelementen aus anderen Frameworks wie WinForms und WPF hosten.

Heute unterstützen XAML-Inseln die meisten System-XAML- und WinUI 2-Steuerelemente. Weitere Informationen finden Sie unter Host-WinRT-XAML-Steuerelemente in Desktop-Apps (XAML-Inseln ). Die Unterstützung für das Hosten von WinUI-Steuerelementen ist ab Windows App SDK 1.4 verfügbar.

Wenn ich eine WinUI-App erstelle, sieht sie sowohl unter Windows 11 als auch unter Windows 10 modern aus?

Ja. Die Benutzeroberfläche Ihrer App erbt die neuesten Designprinzipien der Fluent UI für alle unterstützten Versionen von Windows 11 und Windows 10 bis Version 1809 in verpackten und entpackten Szenarien.

Kann ich Mica- oder Acrylhintergründe in Apps verwenden, die mit dem Windows App SDK erstellt wurden?

Ja. Siehe Glimmer- oder Acrylmaterialien in Desktop-Anwendungen für Windows 11 anwenden.

Wo finde ich WinUI-Beispiele?

Siehe Muster und Ressourcen. Einige wichtige Repositorys:

Wenn ich bereits stark in WPF investiert habe, sollte ich WPF weiterhin verwenden oder die Migration zu WinUI in Betracht ziehen?

Wenn Sie bereits stark in WPF investiert haben, können Sie sie weiterhin für vorhandene Apps verwenden. WPF ist ein ausgereiftes, stabiles Framework, das häufig zum Erstellen von Windows-Desktop-Apps verwendet wird.

Erwägen Sie die Verwendung des .NET-Upgrade-Assistenten zum Migrieren von .NET Framework-WPF-Apps zur neuesten .NET-Plattform. Sie analysiert Ihre Codebasis und bietet Anleitungen zum Aktualisieren.

Wenn ich eine neue WPF-App erstellt, wird sie im Vergleich zu anderen neuen Windows-Apps datiert aussehen?

Beim Entwickeln einer WPF-Anwendung mit .NET 9 oder höher können Sie sicherstellen, dass Ihre App dem schlanken, modernen Look von Windows 11 entspricht. Das neue Fluent-Thema für WPF führt eine zeitgemäße Windows 11-Ästhetik mit integriertem Hell-/Dunkelmodus und Systemakzentfarbe-Unterstützung ein. Dadurch wird das Erscheinungsbild Ihrer App modernisiert und eine ansprechende, einheitliche Benutzererfahrung gewährleistet.

Mein Team ist mit dem Erstellen von WinForms-Apps vertraut und passt zu unseren Anforderungen. Sollten wir die Migration zu WinUI oder einem anderen Framework in Betracht ziehen?

Wenn WinForms Ihren Anforderungen entspricht und Ihr Team damit vertraut ist, können Sie WinForms weiterhin für vorhandene Apps verwenden. WinForms ist ein ausgereiftes und stabiles Framework, das häufig für die Entwicklung von Windows-Desktops verwendet wird.

Das WinForms-Team investiert weiterhin in die Plattform. Zu den aktuellen Investitionsbereichen gehören:

  • Asynchrone Unterstützung für allgemeine Steuerelemente
  • Dunkler Modus
  • Layoutflexibilität
  • Desktop-Sicherheitsfunktionen wie z. B. Zwischenablagezugriff

Plattformübergreifende native Entwicklung

Was sind einige Gründe für die Erstellung plattformübergreifender nativer Apps für Windows?

Wenn Sie Nutzer auf mehreren Betriebssystemen ansprechen möchten, bietet das Erstellen plattformübergreifender Apps mit .NET MAUI oder React Native einige Vorteile:

  • Erreichen: Plattformübergreifende Apps erreichen ein größeres Publikum auf verschiedenen Geräten und Betriebssystemen.
  • Codewiederverwendung: Durch die Wiederverwendung von Code auf allen Plattformen wird die Entwicklungszeit und die Kosten reduziert. Das Erstellen separater Apps für Windows, Android, iOS und macOS kann unerschwinglich teuer sein.
  • Konsistente Benutzererfahrung: Plattformübergreifende Frameworks helfen dabei, ein einheitliches Aussehen und Verhalten auf allen Plattformen zu bieten.
  • Integration: Plattformübergreifende Apps können weiterhin mit plattformspezifischen Diensten integriert werden, um eine umfassende Erfahrung zu bieten.
Kann ich sicher sein, dass .NET MAUI-Apps unter Windows gut ausgeführt werden?

Wenn Sie eine .NET MAUI-App für Windows erstellen, handelt es sich bei der Ausgabe um eine WinUI-App. Während der Entwicklung bietet .NET MAUI eine einzige .NET-Erfahrung auf allen Plattformen, generiert aber plattformspezifischen Code unter der Haube. Dadurch wird sichergestellt, dass .NET MAUI-Apps auf jeder Plattform gut funktionieren und eine systemeigene Benutzeroberfläche bieten.

Wie können .NET MAUI systemeigene Geräte-APIs auf jeder Plattform bereitstellen?

.NET MAUI bietet eine einheitliche .NET-Oberfläche für Windows, iOS, Android und macOS. Er abstrahiert über 60 plattformspezifische APIs in einem einzigen plattformübergreifenden API-Satz, der Bereiche wie Speicher, Netzwerk und Gerätesensoren abdeckt. Auf zusätzliche plattformspezifische APIs kann auch mithilfe der Abhängigkeitsinjektion zugegriffen werden, um spezielle Implementierungen pro Plattform bereitzustellen.

Kann ich mit WinUI beginnen und .NET MAUI später integrieren, wenn ich schließlich plattformübergreifende Szenarien verwenden möchte?

Zurzeit nicht. Obwohl .NET MAUI WinUI verwendet, wenn es unter Windows läuft, sollten Teams, die erwarten, für mehrere Plattformen zu entwickeln, mit .NET MAUI oder React Native für Desktop beginnen.

Unser Team verfügt über starke Web-Front-End-Entwicklungskompetenzen. Sollten wir die Verwendung von React Native für Desktop in Betracht ziehen?

Teams mit starker Webentwicklungserfahrung möchten möglicherweise React Native für Desktop in Betracht ziehen. Es enthält React Native für Windows und macOS. Mit dem Ansatz "Einmal lernen, überall schreiben" können vorhandene JavaScript-, TypeScript- und React-Fähigkeiten verwendet werden, um systemeigene Windows- und macOS-Apps zu erstellen.

React Native for Desktop rendert die Benutzeroberfläche direkt auf native Primitiven und liefert native Leistung sowie Plattformfähigkeiten.

Informationen zu den ersten Schritten finden Sie in der React Native for Desktop-Dokumentation .

Werden andere Windows-Geräte von React Native für Desktop unterstützt?

React Native-Apps können auf allen Geräten bereitgestellt werden, die von Windows 10 und höher unterstützt werden, einschließlich PCs, Tablets, 2-in-1s-, Xbox- und Mixed Reality-Geräten.

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

Wenn Ihre App Xbox, HoloLens oder IoT unterstützen muss, wird UWP empfohlen. Das Windows App SDK unterstützt diese Plattformen nicht. Verwenden Sie für die Spieleentwicklung das Microsoft Game Development Kit.

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

Wenn Sie sowohl auf Windows als auch surface Hub abzielen, wird UWP empfohlen.

Hybrid- und Webentwicklung

Was sind Hybrid-Apps, und warum sollte ich eins erstellen?

Hybrid-Apps kombinieren das Beste aus der Web- und nativen App-Entwicklung. Ihr Kern basiert auf Webtechnologien wie HTML, CSS und JavaScript und ist in einen systemeigenen Container eingeschlossen, der Zugriff auf bestimmte systemeigene Plattformfeatures und -hardware ermöglicht. Sie können auch über App-Stores verteilt werden.

Der Hauptvorteil besteht darin, dass Hybrid-Apps es Ihnen ermöglichen, eine einzelne App zu erstellen, die auf mehreren nativen Plattformen und im Web ausgeführt werden kann, wodurch die Entwicklungszeit und die Kosten reduziert werden. Beispiele für Hybrid-App-Entwicklungsplattformen sind:

  • Electron für Desktop-Apps
  • Ionic für mobile Apps
  • .NET MAUI Blazor Hybrid für plattformübergreifende Apps
Wie kann ich progressive Web-Apps (PWAs) mit nativer Benutzererfahrung unter Windows entwickeln?

Siehe Webentwicklung unter Windows und Übersicht über progressive Web-Apps.

Was ist eine .NET MAUI Blazor Hybrid-App?

Mit .NET MAUI können Blazor-Apps nativ unter Windows, iOS, Android und macOS ausgeführt werden. Auf diese Weise können Sie Hybridclient-Apps erstellen, die Blazor- und .NET MAUI-Komponenten in einer einzigen nativen Client-App kombinieren, mit vollem Zugriff auf systemeigene Plattformfunktionen.

Erfahren Sie mehr unter ASP.NET Core Blazor Hybrid.

Müssen die Webkomponenten einer .NET MAUI-Hybrid-App mit Blazor erstellt werden?

Nein. Ab .NET 9 enthält .NET MAUI ein HybridWebView-Steuerelement, das das Hosten anderer javaScript-basierter UIs in einer systemeigenen App ermöglicht.

Auf diese Weise können Sie Angular-, React-, Vue- oder andere HTML/JavaScript-Apps in einer .NET MAUI-App hosten. Das Hybridsteuerelement stellt die Interoperabilität zwischen C# und JavaScript bereit, sodass C#-Code JavaScript-Funktionen aufrufen kann und umgekehrt.

Können andere systemeigene App-Typen Blazor-Hybridkomponenten hosten?

Ja. WPF- und WinForms-Apps können auch Blazor-Hybridkomponenten einbetten, wodurch moderne Web-Benutzeroberflächen in vorhandene Apps integriert werden können. Dies wird für WPF- oder WinForms-Apps, die auf .NET Framework basieren, nicht unterstützt.

Muss meine gesamte App eine Hybrid-App sein oder kann ich systemeigene und hybride Komponenten kombinieren und abgleichen?

Systemeigene und Hybridkomponenten können innerhalb einer App gemischt werden. Beispielsweise kann der Kern einer App mit .NET MAUI-Komponenten erstellt werden, während Hybridkomponenten zusätzliche Funktionen bereitstellen. Dies ermöglicht die Kombination der Leistung und Funktionen systemeigener Komponenten mit der Flexibilität und Kosteneffizienz von Hybridkomponenten.

Was sind meine Entscheidungen für das Bauen . NET-basierte Web-Apps, die in modernen Browsern unter Windows hervorragend aussehen?

Web-Apps bieten die größtmögliche Reichweite jeder Client-App-Plattform. Zu den Optionen zum Erstellen ansprechender .NET-Web-Apps gehören:

  • ASP.NET Core-Apps mit Razor Pages
  • ASP.NET Core MVC-Apps
  • ASP.NET Core Blazor-Apps mit Hostingmodelloptionen:
    • Blazor WebAssembly
    • Blazor Server

Blazor-Hostingmodelle können jetzt auf Komponentenebene konfiguriert werden und ermöglichen Szenarien wie das Hosten einer Blazor WebAssembly-Komponente in einer Blazor Server-App.

Weitere Informationen finden Sie in der ASP.NET Core-Dokumentation .

Wählen Sie einen Ansatz aus, und verstehen Sie die Investitionen von Microsoft

Es gibt so viele Frameworkoptionen zum Erstellen von Apps, die auf Windows abzielen! Wie entscheide ich mich?

Windows ist eine offene Plattform, die viele Technologien unterstützt. Hier sind einige Kriterien, mit denen Sie eine Plattform auswählen können:

  • Erstellen Sie primär für Windows oder aber plattformübergreifend?
  • Welche Sprachen oder Fähigkeiten haben Sie bereits – .NET, JavaScript, etwas anderes?
  • Benötigen Sie Zugriff auf Windows-spezifische APIs?
  • Welche Framework-Funktionen entsprechen den Anforderungen Ihrer App am besten?
  • Weitere Vergleichsfaktoren finden Sie in dieser Tabelle .

Bei vielen Geschäfts-Apps wählen Teams häufig basierend auf vorhandenen Fähigkeiten und dem, was das Team am bequemsten verwendet.

Wie wähle ich den besten Entwicklungsansatz für meine Web-App aus?

Berücksichtigen Sie beim Auswählen eines Entwicklungsansatzes für Ihre Web-App Folgendes:

  • Blazor wird für das Erstellen von Front-End-Web-Apps mit .NET empfohlen. Sie können sowohl das Front-End als auch das Back-End mithilfe von .NET erstellen, wodurch Zeit und Kosten gespart werden, und es ist besonders gut für Unternehmens-Apps geeignet.
  • JavaScript-Web-Apps sind weiterhin sinnvoll, wenn Sie vorhandene JavaScript-Kenntnisse nutzen oder in etablierte JS-Bibliotheken oder Frameworks integrieren möchten.
  • Vorhandene Apps, die ältere Frameworks wie Webformulare, MVC oder Razor Pages verwenden, werden weiterhin unterstützt und können weiterhin entwickelt und verwaltet werden.
Wer erstellt Apps mit WinUI heute?

Viele Kunden bauen heute mit WinUI, einschließlich Adobe und Apple:

Microsoft hat auch viele WinUI-Apps erstellt, z. B. Den Windows 11-Datei-Explorer und die Fotos-App.

Wer erstellt .NET MAUI-Apps heute?

Viele Kunden, einschließlich Microsoft, erstellen plattformübergreifende Apps mit .NET MAUI. Die mobile Microsoft Azure-App wird beispielsweise mit .NET MAUI erstellt.

Weitere Informationen finden Sie auf der .NET-Kunden-Präsentation.

Wer erstellt heute WPF-Apps?

Der Großteil der Benutzeroberfläche von Microsoft Visual Studio wird mit WPF erstellt. Die Visual Studio-IDE selbst ist ein wichtiges Beispiel für eine komplexe WPF-App mit hoher Leistung.

Wer erstellt heute Blazor-Apps?

Das FlightPulse-Flugsystem von GE Digital verwendet Blazor für die Back-End-Konfiguration aller Systeme, die Piloten sehen. Es liefert Sensordaten und Analysen direkt an die Piloten, um die Sicherheit und Effizienz zu verbessern.

Weitere Blazor-Kundengeschichten auf der .NET-Website anzeigen.

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 – XAML-Inseln ermöglichen dies. Siehe Weitere Informationen zu XAML-Inseln.

Paketerstellung, Bereitstellung und Aktualisierungen

Was ist der Unterschied zwischen Apps, die verpackt, entpackt und mit externem Speicherort verpackt sind?

Definitionen von verpackten, entpackten und mit externen Standort-Apps verpackten finden Sie in der Bereitstellungsübersicht. In diesem Artikel werden auch die Vor- und Nachteile der jeweiligen Option erläutert.

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

Eine WinUI-App kann über den Store, eine APPInstaller-Datei oder über ein vorhandenes MSI- oder setup.exe-Paket bereitgestellt werden. Der Store und AppInstaller unterstützen automatische Updates für Endbenutzer, die automatische Updates aktiviert haben, aber MSI/setup.exe Apps müssen ihren eigenen Updatemechanismus bereitstellen.

Kann ich das Windows App SDK verwenden, ohne MSBuild zu verwenden?

Im Allgemeinen nein. WinUI und das Windows App SDK erfordern MSBuild, weshalb Visual Studio eine Voraussetzung für die Entwicklung mit ihnen ist. Obwohl es technisch möglich ist, Windows App SDK-Apps zu erstellen, die WinUI nicht mit anderen Toolketten verwenden, wird dies nicht unterstützt.

Leistung und Optimierung

Was kann ich tun, um meine Windows-App für Endbenutzer großartig zu gestalten?

Siehe Gestalten hervorragender Apps unter Windows.

Compatibility

Müssen meine Benutzer Windows jemals aktualisieren, um meine WinUI-App zu verwenden?

Benutzer mit Windows 10, Version 1809 oder höher, können WinUI-Apps installieren, ohne ihr Betriebssystem zu aktualisieren.

Kann ich Arm64 mit meiner WinUI-App als Ziel verwenden?

Ja.

Veraltete Versionen und Migrationen

Sind UWP /WinUI 2 veraltet?

Nein. UWP und WinUI 2 werden weiterhin unterstützt und erhalten weiterhin Fehler-, Zuverlässigkeits- und Sicherheitsupdates. Die meisten neuen Features und Funktionen werden jedoch WinUI hinzugefügt.

UWP-Unterstützung für .NET 9 ist verfügbar. Diese Option bietet einen Modernisierungspfad für UWP-Apps mit der neuesten .NET-Version.

Die Ziele der .NET 9-UWP-Unterstützung sind:

  1. Stellen Sie einen besseren Migrationspfad für Entwickler bereit, die zu WinUI wechseln möchten.
  2. Entfernen Sie Abhängigkeiten von .NET Native, damit Entwickler von den neuesten .NET- und C#-Features profitieren können.

Weitere Informationen finden Sie im Blogbeitrag: Modernisieren Sie Ihre UWP-App mit Vorschau-UWP-Unterstützung für .NET 9 und Native AOT.

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

UWP-Entwickler sollten sich nicht unter Druck setzen, zu migrieren, wenn sie mit UWP und seinem Featuresatz zufrieden sind – für viele Apps kann die richtige Wahl darin bestehen, auf UWP zu bleiben.

Apps, die von der neuesten Windows-Plattform und .NET-Investitionen profitieren möchten, sollten die Umstellung auf das Windows App SDK in Betracht ziehen. Siehe Migrieren von UWP zum Windows App SDK.

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

Verwenden Sie weiterhin UWP, wenn Sie für Xbox, Surface Hub oder HoloLens erstellen.

Ist WPF veraltet?

Nein. WPF wird unterstützt, empfohlen und empfängt weiterhin Funktionsupdates. Weitere Informationen finden Sie in der WPF-Roadmap auf GitHub-.

Ist WinForms veraltet?

Nein. WinForms wird unterstützt und empfängt weiterhin Funktionsupdates. Siehe die Windows Forms Roadmap auf GitHub.

Ist die Windows-Runtime (WinRT) veraltet?

Nein. WinRT ist eine Binärschnittstelle (Application Binary Interface, ABI), die die Interoperabilität über mehrere Sprachen hinweg ermöglicht. WinRT ist die Weiterentwicklung von COM, und das Windows App SDK bietet die meisten Funktionen über WinRT-APIs.

Versionshinweise

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

Die neuesten Versionshinweise finden Sie auf der Seite "Neuigkeiten ".