Freigeben über


Häufig gestellte Fragen zur Windows App-Entwicklung

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:

  • Einstieg und die Windows App-Entwicklungslandschaft.
  • Native Windows-only-App-Entwicklung mit WinUI 3, 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.
  • So wählen Sie einen Ansatz, während Sie die Investitionen von Microsoft nachvollziehen.

Windows app Entwicklungslandschaft

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

Sehen Sie sich die neueste Episode des Windows Dev Chat an, "Wählen Sie Ihre ideale Entwicklerplattform", in der über WinUI, .NET MAUI, React Native, Blazor und Progressive Web Apps (PWAs) diskutiert wird.

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

Warum ist die Entwicklung von Client-Apps noch entscheidend für die moderne digitale Transformation im Zeitalter von Cloud-Diensten?

Im Zeitalter der cloud services ist die Entwicklung von Client-Apps 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 weltweit ermöglichen Client-Apps, dass Sie Ihre Anwendungen direkt auf den bevorzugten Geräten der Nutzer bereitstellen.
  • Gateway zu intelligenten Diensten: Client-Apps sind häufig der erste Berührungspunkt für Benutzer Ihrer Dienste. Sie bieten eine reichhaltige, interaktive Oberfläche, mit der Sie intelligente Features präsentieren und Ihr Produkt von anderen unterscheiden können.
  • Scalability with Cloud Integration: Eine gut integrierte Client-App kann mühelos mit Back-End-cloud services synchronisiert werden, wodurch Echtzeitdaten access und nahtlose Skalierbarkeit ermöglicht werden, während 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 von nativen Windows-Apps

What is the Windows App SDK?

Die Windows App SDK ist eine Windows-Anwendungsentwicklungsplattform, mit der Sie ansprechende, moderne, abwärtskompatible (bis zu Windows 10 1809)-Desktop-Apps erstellen können. WinUI ist das Benutzeroberflächenframework, das mit Windows App SDK ausgeliefert wird.

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.

Die Windows App SDK ist eine neue Entwicklungsplattform, mit der Sie moderne Desktop-Apps erstellen können, die in Windows-Versionen installiert werden können (bis Windows 10 1809). Beim Erstellen mit Windows App SDK sind die neuesten Windows-Entwicklungsplattform-Features verfügbar. Die 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.

Die Windows App SDK ersetzt nicht das Windows SDK. Stattdessen ergänzt die 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 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 die Windows App SDK verschoben.

I erstellen 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.
  • Monetization: Native Frameworks werden von Microsoft aktiv verwaltet und unterstützt, um sicherzustellen, dass der Zugriff auf die neuesten Updates und Features gesichert ist.
Which Framework sollte ich verwenden, um die neuesten Investitionen von Microsoft in Windows app Entwicklung 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 Windows app Entwicklung 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 der Windows App SDK und funktioniert am besten mit den neuesten Versionen von Windows.

Kann ich das Windows App SDK / WinUI in meiner bestehenden 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 befindet sich in der Entwicklung, um WinUI-Inhalte in anderen UI-Frameworks (WPF, Win32) zu hosten.

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

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

Weitere Informationen finden Sie unter Use the Windows App SDK in an existing project.

Do 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 umfassen eine WinUI-Anwendungsentwicklung Workload, 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 und WinUI für UWP?

WinUI (zuvor als WinUI 3 bezeichnet) ist das neueste systemeigene Benutzeroberflächenframework für Windows app Entwicklung. Es bietet ein modernes und flexibles Benutzeroberflächenframework zum Erstellen visuell ansprechender und interaktiver Windows-Apps. WinUI ist Teil der Windows App SDK und funktioniert am besten mit den neuesten Versionen von Windows.

WinUI für UWP (zuvor als WinUI 2 bezeichnet) 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.

Wenn ich eine App mit dem Windows App SDK und WinUI erstelle, baue ich dann eine "WinUI-App"?

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

Kann ich meine UWP-App mit WinUI für UWP-Steuerelemente schrittweise auf WinUI aktualisieren, indem WinUI für UWP-Komponenten schrittweise durch WinUI-Komponenten ersetzt wird?

Nein. Windows App SDK können in UWP-Apps nicht verwendet werden, und WinUI für UWP kann nicht mit WinUI gemischt werden. Siehe Migrate 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. Projektdatei und MSBuild-Anpassung: Migrationsaufwand variiert je nach fortgeschrittener MSBuild-Verwendung.
  2. .NET-API-Migration: UWP-Apps, die .NET verwenden, müssen zu .NET 6 oder höher wechseln. In vielen Fällen ist die Übernahme 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 Migrate von UWP auf die 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 verpacke/verteile ich meine WinUI-App?

Siehe Übersicht über die Bereitstellung.

Wo finde ich Windows App SDK Migrationsleitfaden?

Siehe Migrate 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.
Hat Visual Studio eine Designoberfläche/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 Arbeiten wurden begonnen an einem Visual Studio UI-Designer für WinUI in Windows App SDK 1.7, aber es gibt noch keinen Zeitplan für die Veröffentlichung.

Beeinhaltet das Windows App SDK WinUI?

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

Does Windows App SDK WinUI für UWP einschließen?

Nein. WinUI für UWP ist Teil der UWP-Plattform.

Basiert WinUI für UWP und WinUI auf derselben Technologie?

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

Kann ich WinUI ohne das Windows App SDK verwenden?

Nein. WinUI wird als Teil der 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 für UWP-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 auf Windows 11 als auch auf Windows 10 modern aus?

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

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

Ja. Siehe Mica oder Acrylmaterialien in Desktop-Apps 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 weiterhin WPF 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 .NET Framework WPF-Apps zur neuesten .NET Plattform. Sie analysiert Ihre Codebasis und bietet Anleitungen zum Aktualisieren.

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

Wenn Sie eine WPF Anwendung mit .NET 9 oder höher entwickeln, können Sie sicherstellen, dass Ihre App dem schlanken, modernen Look von Windows 11 entspricht. Das neue Fluent-Theme für WPF bietet eine zeitgenössische Ästhetik im Stil von Windows 11, mit integrierter Unterstützung für Hell-/Dunkel-Modus und Systemakzentfarben. 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
  • Desktopsicherheitsmerkmale wie Zwischenablagezugriff

Plattformübergreifende native Entwicklung

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

Wenn Sie Benutzer auf mehreren Betriebssystemplattformen ausrichten, kann das Erstellen plattformübergreifender Apps mit .NET MAUI oder React Native mehrere Vorteile bieten:

  • 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 Benutzererfahrung bieten.

Wie kann .NET MAUI systemeigene Geräte-APIs auf jeder Plattform bereitstellen?

.NET MAUI bietet eine einheitliche .NET Erfahrung in Windows, iOS, Android und macOS. Er abstrahiert über 60 plattformspezifische APIs in einem einzigen plattformübergreifenden API-Satz, der Bereiche wie storage, 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 später .NET MAUI integrieren, wenn ich schließlich plattformübergreifende Szenarien ansprechen möchte?

Zurzeit nicht. Obwohl .NET MAUI WinUI bei der Ausführung unter Windows verwendet, sollten Teams, die davon ausgehen, dass sie auf mehrere Plattformen abzielen, 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.

Weitere Informationen zum Einstieg 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. Windows App SDK unterstützt diese Plattformen nicht. Verwenden Sie für die Spieleentwicklung die Microsoft Game Development Kit.

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

Wenn Sie sowohl auf Windows als auch auf 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 access bestimmten systemeigenen Plattformfeatures und -hardware bietet. 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 erstelle ich progressive Web-Apps (PWAs) mit nativer Anmutung auf Windows?

Weitere Informationen finden Sie unter Web development on Windows and Overview of 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 mit vollständigen access zu systemeigenen Plattformfunktionen kombinieren.

Weitere Informationen finden Sie 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, mit dem andere javaScript-basierte UIs in einer nativen App gehostet werden können.

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 hosten, die es ermöglichen, vorhandene Apps mit einer modernen Web-Oberfläche zu erweitern. 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.

Welche Möglichkeiten habe ich, .NET-basierte Web-Apps zu erstellen, die auf modernen Browsern unter Windows großartig 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 dokumentation ASP.NET Core.

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

Es gibt so viele Framework-Optionen zum Erstellen von Apps für Windows! 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 access für 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. Damit können Sie sowohl das Front-End als auch das Back-End mithilfe von .NET erstellen, Zeit und Kosten sparen und für Unternehmens-Apps besonders gut geeignet sein.
  • JavaScript-Webanwendungen sind nach wie vor sinnvoll, wenn Sie vorhandene JavaScript-Fähigkeiten nutzen möchten oder in etablierte JavaScript-Bibliotheken oder -Frameworks integrieren müssen.
  • 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 wie Windows 11 File Explorer und die Fotos-App erstellt.

Who erstellt heute .NET MAUI-Apps?

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

Weitere Informationen finden Sie im .NET Kunden-Showcase.

Who erstellt heute WPF Apps?

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

Wer erstellt heute Blazor-Apps?

Das FlightPulse Airline-System von GE Digital verwendet Blazor für die Back-End-Konfiguration aller Elemente, die Piloten sehen, und bringt Sensordaten und Analysen direkt zu den Piloten, um die Sicherheit und Effizienz zu verbessern.

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

Verpackung, 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 Windows App SDK ohne MSBuild verwenden?

Im Allgemeinen nein. WinUI und die 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 die Endbenutzer großartig zu gestalten?

Siehe Windows-Anwendungsentwicklung – Best Practices und Windows-App-Leistung und Grundlagenübersicht.

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.

Abkündigungen und Migrationen

Sind UWP/WinUI für UWP veraltet?

Nein. UWP und WinUI für UWP 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 für UWP-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 die Windows App SDK in Betracht ziehen. Siehe Migrate von UWP zum Windows App SDK.

Wann sollte ich *nicht* eine UWP + WinUI für UWP-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. Sehen Sie die WPF-Roadmap auf GitHub.

Ist WinForms veraltet?

Nein. WinForms wird unterstützt und empfängt weiterhin Funktionsupdates. Siehe 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 Entwicklung von COM, und die Windows App SDK bietet die meisten Funktionen über WinRT-APIs.

Versionshinweise

Wo finde ich Versionshinweise für Windows App SDK?

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