Bearbeiten

Freigeben über


Windows-Entwickler – häufig gestellte Fragen

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

Die heutige Windows-App-Entwicklungslandschaft bietet eine Vielzahl von Frameworks und Technologien, aus der Sie wählen können. Diese häufig gestellten Fragen enthalten Anleitungen zur Entscheidung, welches Framework für Ihre Windows-App-Entwicklungsprojekte verwendet werden soll. Es behandelt die folgenden Themen:

  • Erste Schritte und die Windows-App-Entwicklungslandschaft.
  • Native Windows-only-App-Entwicklung mit WinUI, Windows Presentation Foundation (WPF) und Windows Forms (WinForms).
  • Das Windows Software Development Kit (SDK) und das 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.

Die Windows-App-Entwicklungslandschaft

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

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 weiterhin 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 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.

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: native Windows-Frameworks sind optimiert, um die volle Leistungsfähigkeit der heutigen Windows-Hardware zu nutzen und schnelle und reaktionsfähige Benutzeroberflächen bereitzustellen.
  • Integration: Windows wird mit einer Vielzahl von APIs ausgeliefert, um anspruchsvolle Oberflächen zu erstellen, die nur unter Windows verfügbar sind. Die nativen Frameworks bieten eine umfassende Integration mit diesen Features und APIs.
  • native Benutzeroberfläche: native Windows-Frameworks bieten eine konsistente Benutzererfahrung auf allen Windows-Geräten, um sicherzustellen, dass Ihre App auf allen Windows-Geräten gut aussieht und funktioniert.
  • Offlineunterstützung: Native Windows-Frameworks bieten Unterstützung für Offlineszenarien, sodass Ihre App auch dann funktioniert, wenn der Benutzer nicht mit dem Internet verbunden ist.
  • Monetarisierung: native Windows-Frameworks werden von Microsoft aktiv verwaltet und unterstützt, um sicherzustellen, dass Sie Zugriff auf die neuesten Updates und Features haben.

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. WinUI bietet ein modernes und flexibles Benutzeroberflächenframework, mit dem Sie visuell ansprechende und interaktive Windows-Apps erstellen können. WinUI ist Teil des Windows App SDK und wurde entwickelt, um am besten mit den neuesten Versionen von Windows zu arbeiten.

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

Beachten Sie, dass WinUI- (ein Benutzeroberflächenframework) mit Windows App SDK- (einem Windows-Plattformentwicklungsframework) ausgeliefert wird.

Im Allgemeinen können Sie WinUI nur verwenden, wenn Sie bereit sind, Ihr UI-Framework vollständig zu migrieren. Wir arbeiten an einem Feature namens XAML-Inseln, mit dem Sie WinUI-Inhalte in anderen UI-Frameworks (WPF, Win32) hosten können.

Sie sollten elemente des Windows App SDK in jeder Desktop-App verwenden können, je nachdem, wie Ihre 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 zusammenhängen. Beispiele für solche APIs sind App Lifecycle (App-Lebenszyklus), Windowing und Toast Notifications (Popupbenachrichtigungen).

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

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

Wir empfehlen dringend die Verwendung von Visual Studio 2022, Versionen 17.10 und höher, um WinUI-Apps zu entwickeln. Wenn Sie die neueste Version von Visual Studio verwenden, haben Sie Zugriff auf umfassende Entwicklungsfeatures wie Hot Reload. Die neuesten Visual Studio-Installationsprogramme umfassen eine Windows-Anwendungsentwicklung Workload, sodass Sie mit der WinUI-Entwicklung ganz einfach beginnen können.

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

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

Ja - "WinUI-App" ist der Begriff, den Wir empfehlen, sie zu verwenden. WinUI 3-Apps werden im Allgemeinen als "WinUI-Apps" bezeichnet, da WinUI 2 kein App-Typ ist, sondern eine Reihe von Komponenten, die in UWP-Apps verwendet werden können.

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

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 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 von UWP zu WinUI in erster Linie von diesen 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 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 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 nicht zu WinUI migriert werden.

Wie kann ich meine WinUI-App verpacken/verteilen?

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

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

Nein. UI-Steuerelemente können im Code erstellt werden. Es gibt jedoch viele Vorteile, die Ihre WinUI-Benutzeroberfläche in Form von deklarativem XAML-Markup darstellen, z. B. verbesserte Entwicklerfreundlichkeit.

Wenn Sie von UWP zu WinUI migrieren, können Sie wahrscheinlich viele Xaml-Markups und UI-bezogenen Code wiederverwenden (sie müssen jedoch einige der Syntax aktualisieren). Wenn Sie von WPF zu WinUI migrieren, können Sie viele der Konzepte wiederverwenden, aber die Steuerelementsätze und APIs unterscheiden sich.

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

Noch nicht. Wir wissen, dass dies eine Lücke in der WinUI-Entwicklerumgebung ist. Tools wie XAML Hot Reload können in vielen Szenarien hilfreich sein. Arbeit hat in einem Visual Studio UI-Designer für WinUI in Windows App SDK 1.7 gestartet, aber es gibt noch keine Zeitachse für die Veröffentlichung dieses Features.

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 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 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-Beispiele?

Siehe Muster und Ressourcen. Einige wichtige Repositorys:

Wenn ich bereits stark in WPF investiert habe, sollte ich WPF weiterhin verwenden oder erwägen, zu WinUI zu migrieren?

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

Erwägen Sie die Nutzung des .NET-Upgrade-Assistenten, um Ihre .NET Framework-WPF-Apps auf die neueste .NET-Plattform zu migrieren. Der .NET-Upgrade-Assistent ist ein Tool, mit dem Sie Ihre .NET Framework-Apps zu den neuesten unterstützten Versionen von .NET migrieren können. Der .NET-Upgrade-Assistent analysiert Ihre vorhandene Codebasis und enthält Anleitungen zum Aktualisieren des Codes.

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. Mit dem neuen Fluent-Design für WPF wird eine moderne Windows 11-Ästhetik für WPF-Anwendungen eingeführt, die mit integrierter Unterstützung des Hellen/Dunklen Modus und der Systemakzentfarbe ausgestattet sind. Dieses Update modernisiert nicht nur das Aussehen Ihrer App, sondern verbessert auch die Benutzerbindung, indem eine ansprechende und einheitliche Benutzererfahrung bereitgestellt wird.

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 Ihr Team mit dem Erstellen von WinForms-Apps vertraut ist und WindForms Ihren Anforderungen entspricht, können Sie WinForms weiterhin für Ihre vorhandenen Apps verwenden. WinForms ist ein ausgereiftes und stabiles Framework, das von Entwicklern häufig zum Erstellen von Windows-Desktop-Apps verwendet wird.

Das WinForms-Team investiert über Features hinweg und verfügt über eine aktive Community von Mitwirkenden. Zu den aktuellen Investitionsbereichen gehören:

  • Asynchrone Unterstützung mit allgemeinen Steuerelementen
  • Dunkler Modus
  • Layoutflexibilität
  • Desktopsicherheitsfeatures 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:

  • Reichweite: Das Erstellen plattformübergreifender Apps ermöglicht es Ihnen, ein größeres Benutzerpublikum auf verschiedenen Plattformen zu erreichen.
  • Codewiederverwendung: Das Erstellen plattformübergreifender Apps ermöglicht es Ihnen, Code auf verschiedenen Plattformen wiederzuverwenden, wodurch die Entwicklungszeit und die Kosten reduziert werden. Es kann unerschwinglich teuer sein, separate Apps für Windows, iOS, Android, macOS usw. zu erstellen.
  • Konsistente Benutzererfahrung: Das Erstellen plattformübergreifender Apps ermöglicht es Ihnen, eine einheitliche Benutzererfahrung auf verschiedenen Plattformen bereitzustellen, um sicherzustellen, dass Ihre App auf allen Geräten gut aussieht und funktioniert.
  • Integration: Das Erstellen plattformübergreifender Apps ermöglicht ihnen die Integration in verschiedene Plattformen und Dienste, sodass Sie eine umfassendere Benutzererfahrung bieten können.

Kann ich sicher sein, dass .NET MAUI-Apps unter Windows gut ausgeführt werden?

Wenn Sie eine .NET MAUI-App für Windowserstellen, ist Ihre Ausgabe eine WinUI-App. Während der Entwicklung bietet .NET MAUI eine einzige .NET-Erfahrung auf allen Plattformen, einschließlich Windows, aber unter der Haube, generiert es plattformspezifischen Code. Dadurch wird sichergestellt, dass Ihre .NET MAUI-App auf jeder Plattform gut ausgeführt wird und eine systemeigene Benutzeroberfläche bietet.

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

.NET MAUI bietet eine einzige .NET-Oberfläche auf allen Plattformen, einschließlich Windows, iOS, Android und macOS. .NET MAUI abstrahiert über 60 plattformspezifische APIs in einer einzigen plattformübergreifenden API, die Sie in Ihrer .NET MAUI-App verwenden können. Diese APIs decken den Zugriff auf Speicher, Netzwerk, gerätespezifische Sensoren und vieles mehr ab. Bei Bedarf können Sie auch auf zusätzliche plattformspezifische APIs zugreifen, indem Sie die Abhängigkeitseinfügung verwenden, um den Code für jede Plattform abstrahieren zu können.

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

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

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

Wenn Ihr Team über starke Fähigkeiten für die Webentwicklung verfügt, sollten Sie die Verwendung von React Native for Desktop in Betracht ziehen. React Native for Desktop umfasst die React Native für Windows und macOS Frameworks. Das Motto von React Native lautet "Einmal lernen, überall schreiben", was bedeutet, dass Sie Ihre vorhandenen Webentwicklungskompetenzen verwenden können, um native Windows-Apps mit React Native zu erstellen. React Native for Desktop ist ein Open-Source-Projekt, mit dem Sie systemeigene Windows- und macOS-Apps mit React Native erstellen können. React Native for Desktop bietet eine Reihe von APIs, mit denen Sie auf desktopbetriebssystemspezifische Features und Funktionen in Ihren React Native-Apps zugreifen können.

Ihr Team kann seine JavaScript-, TypeScript- und React-Fähigkeiten nutzen, um die UI-Ebene zu erstellen, die direkt auf systemeigenen Grundtypen gerendert wird. Dies bietet systemeigene App-Leistung und Zugriff auf die Funktionen der systemeigenen Plattform.

Weitere Informationen zu den ersten Schritten mit der React Native-Entwicklung für Windows 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 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.

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. Der Kern der App basiert auf Webtechnologien wie HTML, CSS und JavaScript und wird dann in einen systemeigenen Container eingeschlossen, der es der App ermöglicht, bestimmte systemeigene Plattformfeatures und -hardware zu nutzen. Sie können auch über App-Stores verteilt werden.

Der Hauptvorteil von Hybrid-Apps besteht darin, dass Sie eine einzelne App erstellen können, die auf mehreren nativen Plattformen und im Web ausgeführt werden kann, was die Entwicklungszeit und die Kosten reduziert. Einige Beispiele für Hybrid-App-Entwicklungsplattformen beantworten:

  • 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 nativem Charakter unter Windows?

Was ist eine .NET MAUI Blazor Hybrid-App?

Mit .NET MAUI können Blazor-Apps auch nativ unter Windows, iOS, Android und macOS ausgeführt werden. Dies bedeutet, dass Sie Hybridclient-Apps erstellen können, die Blazor- und .NET MAUI-Komponenten in einer einzigen nativen Client-App kombinieren. Dadurch erhalten Sie vollständigen Zugriff auf die gleichen systemeigenen Plattformfunktionen, die für alle anderen .NET MAUI-Apps verfügbar sind.

Weitere Informationen dazu, wie Blazor in einer .NET MAUI-App gehostet werden kann, finden Sie unter ASP.NET Core Blazor Hybrid.

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

Nein, die Webkomponenten einer .NET MAUI-Hybrid-App müssen nicht mit Blazor erstellt werden. Ab .NET 9 bietet .NET MAUI ein HybridWebView-Steuerelement, mit dem Sie andere JavaScript-UIs in Ihrer nativen App hosten können.

Dies bedeutet, dass Sie Ihre Angular-, React-, Vue- oder andere HTML-& JavaScript-Web-App verwenden und in Ihrer .NET MAUI-App hosten können. Das Hybridsteuerelement stellt die Interoperabilität zwischen den C#- und JavaScript-Ebenen bereit, sodass Sie JavaScript-Funktionen aus C# aufrufen können und umgekehrt.

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

Ja, WPF- und WinForms-Apps können auch Blazor-Hybridkomponenten hosten. Auf diese Weise können Sie Ihren vorhandenen WPF- und WinForms-Apps moderne Web-UI-Komponenten hinzufügen. Beachten Sie, dass dies mit WPF- oder WinForms-Apps, die auf .NET Framework erstellt wurden, nicht möglich ist.

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

Sie können systemeigene und hybride Komponenten in Ihrer App kombinieren und abgleichen. Sie können beispielsweise den Kern Ihrer App mithilfe von .NET MAUI-Komponenten erstellen und dann Hybridkomponenten hinzufügen, um zusätzliche Funktionen bereitzustellen. Auf diese Weise können Sie das Beste aus beiden Welten nutzen: Leistung und Funktionen systemeigener Komponenten sowie Flexibilität und Kosteneinsparungen bei Hybridkomponenten.

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

Web-Apps verfügen über die größtmögliche Reichweite jeder Client-App-Plattform. Wenn Sie schöne .NET-Web-Apps unter Windows erstellen möchten, haben Sie mehrere Optionen:

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

Beachten Sie, dass das Hostingmodell für Blazor jetzt auf Komponentenebene konfiguriert werden kann. Sie können also eine Blazor WebAssembly-Komponente in einer Blazor Server-App hosten.

Weitere Informationen zu ASP.NET Core-Entwicklungsoptionen 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 entscheiden können, welche Plattform sie verwenden soll:

  • Erstellen Sie Windows zuerst oder plattformübergreifend?
  • Haben Sie Erfahrung mit .NET? JavaScript? Andere Sprachen?
  • Müssen Sie auf Windows-spezifische APIs zugreifen?
  • Welche Framework-Funktionen entsprechen den Anforderungen Ihrer App am besten?
  • Weitere Entscheidungsfaktoren finden Sie in dieser Tabelle.

Wenn es um Geschäfts-Apps geht, möchten die meisten Teams basierend auf vorhandenen Fähigkeiten und dem, was das Team verwendet, auswählen.

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

Einige Punkte, die Sie bei der Auswahl eines Entwicklungsansatzes für Ihre Web-App berücksichtigen sollten, sind:

  • Blazor wird für das Erstellen von Front-End-Web-Apps mit .NET empfohlen. Mithilfe von Blazor können Sie jetzt Ihr gesamtes Front-End und Back-End mit .NET erstellen und Zeit und Geld sparen. Es eignet sich besonders gut für Branchen-Apps auf heutigen Geräten.
  • JavaScript-Web-Apps sind immer noch sinnvoll, wenn Sie die vorhandenen Kenntnisse oder Investitionen Ihres Teams in JavaScript nutzen möchten oder wenn Sie in vorhandene JavaScript-Bibliotheken oder -Frameworks integriert werden müssen.
  • Vorhandene Apps, die ältere Frameworks wie Webformulare, MVC oder Razor Pages verwenden, werden weiterhin unterstützt und können weiterhin mit diesen Frameworks entwickelt und verwaltet werden.

Wer erstellt Apps mit WinUI heute?

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

Microsoft hat auch mehrere Apps mit WinUI erstellt, einschließlich der Windows 11-Datei-Explorer und Fotos-Apps.

Wer erstellt .NET MAUI-Apps heute?

Viele Kunden verwenden .NET MAUI, um ihre plattformübergreifenden Apps heute einschließlich Microsoft zu erstellen. Beispielsweise wurde die mobile Microsoft Azure-App mit .NET MAUI erstellt.

Erfahren Sie, wer andere Apps mit .NET MAUI auf der .NET-Kunden erstellen, die Website präsentieren.

Wer erstellt heute WPF-Apps?

Die meisten Der Benutzeroberfläche von Microsoft Visual Studio werden mit WPF erstellt. Die Visual Studio IDE ist ein hervorragendes Beispiel für eine komplexe WPF-App mit hoher Leistung.

Wer erstellt heute Blazor-Apps?

Das FlightPulse Flugsystem von GE Digital fügt Sensordaten und Analysen in die Hände der Piloten ein, um die Sicherheit und Effizienz zu verbessern. Die Back-End-Konfiguration von allem, was die Piloten sehen, erfolgt alles mit Blazor.

Weitere Blazor-Kundengeschichten können Sie auf der .NET-Website lesen.

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.

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-App automatisch für Endbenutzer aktualisiert?

Eine WinUI-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 und Windows App SDK erfordern MSBuild-, weshalb Visual Studio eine Voraussetzung für die Entwicklung mit WinUI und Windows App SDK 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 die Benutzerfreundlichkeit meiner Windows-App für Endbenutzer zu optimieren?

Kompatibilität

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

Benutzer mit Windows 10, Version 1809 und höher, können Ihre 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 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 WinUI 3 hinzugefügt.

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

UWP-Entwickler sollten keinen Druck haben, ihre Apps zu WinUI 3 zu migrieren, wenn sie mit UWP und seinem Featuresatz 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?