Was ist eine App der universellen Windows-Plattform (UWP)?What's a Universal Windows Platform (UWP) app?

Apps für die universelle Windows-Plattform können auf einer Vielzahl von Geräten ausgeführt werden, unterstützen adaptive Benutzeroberflächen, natürliche Benutzereingaben, einen Store, ein Partner Center und Clouddienste.

Eine UWP-App:A UWP app is:

  • Ist sicher – UWP-Apps deklarieren, auf welche Geräteressourcen und Daten sie zugreifen.Secure: UWP apps declare which device resources and data they access. Der Benutzer muss den Zugriff autorisieren.The user must authorize that access.
  • Kann eine gemeinsame API auf allen Geräten nutzen, auf denen Windows 10 ausgeführt wird.Able to use a common API on all devices that run Windows 10.
  • Kann gerätespezifische Funktionen verwenden und die Benutzeroberfläche an verschiedene, gerätespezifische Bildschirmgrößen, Auflösungen und DPI-Werte anpassen.Able to use device specific capabilities and adapt the UI to different device screen sizes, resolutions, and DPI.
  • Ist im Microsoft Store für alle (oder nur für die von Ihnen angegebenen) Geräte verfügbar, auf denen Windows 10 ausgeführt wird.Available from the Microsoft Store on all devices (or only those that you specify) that run on Windows 10. Der Microsoft Store bietet mehrere Möglichkeiten, Ihre App gewinnbringend anzubieten.The Microsoft Store provides multiple ways to make money on your app.
  • Kann ohne Risiko für den Computer oder eine schleichende Beeinträchtigung des Systems installiert und deinstalliert werden.Able to be installed and uninstalled without risk to the machine or incurring "machine rot".
  • Ist ansprechend – Verwenden Sie Live-Kacheln, Pushbenachrichtigungen und Benutzeraktivitäten, um mit der Windows-Zeitachse und der Funktion „Weitermachen, wo Sie aufgehört haben” von Cortana zu interagieren und Benutzer zu erreichen.Engaging: use live tiles, push notifications, and user activities that interact with Windows Timeline and Cortana's Pick Up Where I Left Off, to engage users.
  • Kann in C#, C++, Visual Basic und JavaScript programmiert werden.Programmable in C#, C++, Visual Basic, and Javascript. Verwenden Sie für die Benutzeroberfläche XAML, HTML oder DirectX.For UI, use XAML, HTML, or DirectX.

Betrachten wir diese Eigenschaften im Detail.Let's look at these in more detail.

SicherSecure

UWP-Apps deklarieren im Manifest die benötigten Gerätefunktionen, z. B. den Zugriff auf das Mikrofon, den Standort, die Webcam, USB-Geräte, Dateien usw.UWP apps declare in their manifest the device capabilities they need such as access to the microphone, location, Webcam, USB devices, files, and so on. Der Benutzer muss den Zugriff bestätigen und autorisieren, bevor die App die Funktion nutzen kann.The user must acknowledge and authorize that access before the app is granted the capability.

Eine gemeinsame API-Oberfläche für alle GeräteA common API surface across all devices

In Windows 10 wird die universelle Windows-Plattform (UWP) eingeführt, die eine gemeinsame App-Plattform auf jedem Gerät bereitstellt, auf dem Windows 10 ausgeführt wird.Windows 10 introduces the Universal Windows Platform (UWP), which provides a common app platform on every device that runs Windows 10. Die zentralen UWP-APIs sind auf allen Windows-Geräten identisch.The UWP core APIs are the same on all Windows devices. Wenn Ihre App nur die zentralen APIs verwendet, wird sie auf jedem Windows 10-Gerät ausgeführt, unabhängig davon, ob sie für einen Desktop-PC, die Xbox oder ein Mixed Reality-Headset usw. entwickelt wurde.If your app only uses the core APIs, it will run on any Windows 10 device no matter whether you are targeting a desktop PC, Xbox, Mixed-reality headset, and so on.

Eine UWP-App, die in C++/WinRT oder C++/CX geschrieben wurde, hat Zugriff auf die Win32-APIs, die Teil der universellen Windows-Plattform (UWP) sind.A UWP app written in C++ /WinRT or C++ /CX has access to the Win32 APIs that are part of the UWP. Diese Win32-APIs werden von allen Windows 10-Geräten implementiert.These Win32 APIs are implemented by all Windows 10 devices.

Erweiterungs-SDKs machen die einzigartigen Funktionen spezifischer Gerätetypen verfügbarExtension SDKs expose the unique capabilities of specific device types

Wenn Sie eine App für die universellen APIs entwickeln, kann sie auf allen Geräten mit Windows 10 ausgeführt werden.If you target the universal APIs, your app can run on all devices that run Windows 10. Wenn Ihre UWP-App jedoch die Vorteile gerätespezifischer APIs nutzen soll, ist dies ebenfalls möglich.But if you want your UWP app to take advantage of device specific APIs, you can.

Mit Erweiterungs-SDKs können Sie spezielle APIs für unterschiedliche Geräte aufrufen.Extension SDKs let you call specialized APIs for different devices. Wenn Sie Ihre UWP-App beispielsweise für ein IoT-Gerät entwickeln, können Sie Ihrem Projekt das IoT-Erweiterungs-SDK hinzufügen, um spezifische Funktionen für IoT-Geräte zu unterstützen.For example, if your UWP app targets an IoT device, you can add the IoT extension SDK to your project to target features specific to IoT devices. Weitere Informationen zum Hinzufügen von Erweiterungs-SDKs finden Sie unter Übersicht über die Gerätefamilien im Abschnitt zu Erweiterungs-SDKs.For more information about adding extension SDKs, see the Extension SDKs section in Device families overview.

Sie können Ihre App so entwerfen, dass sie nur auf einem bestimmten Gerätetyp ausgeführt werden kann, und den Vertrieb über den Microsoft Store genau auf diesen Gerätetyp beschränken.You can write your app so that you expect it to run only on a particular type of device, and then limit its distribution from the Microsoft Store to just that type of device. Alternativ können Sie zur Laufzeit testen, ob eine bestimmte API vorhanden ist, und das Verhalten der App entsprechend anpassen.Or, you can conditionally test for the presence of an API at runtime and adapt your app's behavior accordingly. Weitere Informationen finden Sie unter Übersicht über die Gerätefamilien im Abschnitt Schreiben von Code.For more information, see the Writing Code section in Device families overview.

Das folgende Video bietet einen kurzen Überblick über die Gerätefamilien und adaptiven Code:The following video provides a brief overview of device families and adaptive coding:

Adaptive Steuerelemente und EingabenAdaptive controls and input

Benutzeroberflächenelemente reagieren auf die Größe und DPI-Auflösung des Bildschirms, in dem die App ausgeführt wird, indem sie das Layout und die Skalierung anpassen.UI elements respond to the size and DPI of the screen the app is running on by adjusting their layout and scale. UWP-Apps unterstützen mehrere Eingabetypen, z. B. Tastatur, Maus, Toucheingabe, Stift und Xbox One-Controller.UWP apps work well with multiple types of input such as keyboard, mouse, touch, pen, and Xbox One controllers. Wenn Sie die Benutzeroberfläche weiter an eine bestimmte Bildschirmgröße oder ein bestimmtes Gerät anpassen müssen, helfen Ihnen neue Layoutpanels und Tools dabei, die Benutzeroberfläche an die verschiedenen Geräte und Formfaktoren anzupassen, unter denen Ihre App ausgeführt werden kann.If you need to further tailor your UI to a specific screen size or device, new layout panels and tooling help you design UI that can adapt to the different devices and form factors that your app may run on.

Windows-Geräte

Windows unterstützt Sie mit folgenden Features, Ihre UI auf mehrere Geräte auszurichten:Windows helps you target your UI to multiple devices with the following features:

  • Universelle Steuerelemente und Layoutpanels unterstützen Sie bei der Optimierung Ihrer Benutzeroberfläche für die Bildschirmauflösung des Geräts.Universal controls and layout panels help you to optimize your UI for the screen resolution of the device. Beispielsweise werden Steuerelemente wie Schaltflächen und Schieberegler automatisch an die Bildschirmgröße und DPI-Dichte des Geräts angepasst.For example, controls such as buttons and sliders automatically adapt to device screen size and DPI density. Layoutpanels helfen, das Layout von Inhalten basierend auf der Bildschirmgröße anzupassen.Layout panels help adjust the layout of content based on the size of the screen. Die adaptive Skalierung sorgt dafür, dass die Auflösung und DPI-Unterschiede geräteübergreifend berücksichtigt werden.Adaptive scaling adjusts to resolution and DPI differences across devices.
  • Dank der allgemeinen Verarbeitung von Eingaben können Eingaben per Touchgeste, Stift, Maus, Tastatur oder Controller erfolgen (z. B. Microsoft Xbox-Controller).Common input handling allows you to receive input through touch, a pen, a mouse, a keyboard, or a controller such as a Microsoft Xbox controller.
  • Tools unterstützen Sie bei der Entwicklung von Benutzeroberflächen, die sich an verschiedene Bildschirmauflösungen anpassen.Tooling that helps you to design UI that can adapt to different screen resolutions.

Einige Aspekte der App-UI Ihrer App werden automatisch auf allen Geräten angepasst.Some aspects of your app's UI will automatically adapt across devices. Das Design der Benutzererfahrung Ihrer App muss jedoch möglicherweise angepasst werden, je nachdem, auf welchem Gerät die App ausgeführt wird.Your app's user-experience design, however, may need to adapt depending on the device the app is running on. Eine Foto-App könnte die Benutzeroberfläche beispielsweise anpassen, wenn sie auf einem kleinen Handheld-Gerät ausgeführt wird, um sicherzustellen, dass sie optimal mit einer Hand bedient werden kann.For example, a photo app could adapt its UI when running on a small, handheld device to ensure that usage is ideal for single-handed use. Wenn eine Foto-App auf einem Desktopcomputer ausgeführt wird, sollte sich die Benutzeroberfläche anpassen, um die zusätzliche Bildschirmfläche zu nutzen.When a photo app is running on a desktop computer, the UI should adapt to take advantage of the additional screen space.

Ein Store für alle GeräteThere's one store for all devices

Ihre App wird in einem Store für allgemeine Apps für Windows 10-Geräte wie PC, Tablet, Xbox, HoloLens, Surface Hub und IoT-Geräte (Internet der Dinge) zur Verfügung gestellt.A unified app store makes your app available on Windows 10 devices such as PC, tablet, Xbox, HoloLens, Surface Hub, and Internet of Things (IoT) devices. Sie können Ihre App an den Store übermitteln und für alle oder nur für ausgewählte Gerätetypen zur Verfügung stellen.You can submit your app to the store and make it available to all types of devices, or only those you choose. Sie übermitteln und verwalten alle Ihre Apps für Windows-Geräte an einem zentralen Ort.You submit and manage all your apps for Windows devices in one place. Sie verfügen über eine C++-Desktop-App, die Sie mit UWP-Features aufwerten und im Microsoft Store vertreiben möchten?Have a C++ desktop app that you want to modernize with UWP features and sell in the Microsoft store? Auch das ist möglich.That's okay, too.

Da UWP-Apps und Application Insights integriert sind, stehen detaillierte Telemetrie- und Analysedaten zur Verfügung. Das Tool hilft, das Benutzerverhalten zu analysieren und Ihre Apps zu optimieren.UWP apps integrate with Application Insights for detailed telemetry and analytics—a crucial tool for understanding your users and improving your apps.

Monetisierung Ihrer AppMonetize your app

Sie können wählen, wie Sie Ihre App gewinnbringend nutzen.You can choose how you'll monetize your app. Es gibt eine Reihe von Möglichkeiten, mit Ihren Apps Geld zu verdienen.There are a number of ways to make money with your app. Sie müssen nur die für Sie am besten geeignete Methode auswählen, beispielsweise:All you need to do is choose the one that works best for you, for example:

  • Ein bezahlter Download ist die einfachste Möglichkeit.A paid download is the simplest option. Geben Sie einfach nur den Preis an.Just name the price.
  • Mit Testversionen können Benutzer Ihre App vor dem Kauf ausprobieren. Dies verbessert gegenüber den herkömmlicheren „Freemium“-Optionen die Auffindbarkeit und erhöht die Anzahl der Abschlüsse.Trials let users try your app before buying it, providing easier discoverability and conversion than the more traditional "freemium" options.
  • Angebotspreise bieten Anreize für Benutzer.Sale prices to incentivize users.
  • Darüber hinaus sind In-App-Käufe und -Anzeigen verfügbar.In-app purchases and ads are also available.

Apps aus dem Microsoft Store sorgen für eine nahtlose Installations-, Deinstallations- und UpgradeerfahrungApps from the Microsoft Store provide a seamless install, uninstall, and upgrade experience

Alle UWP-Apps werden mithilfe eines Paketerstellungssystems verteilt, das den Benutzer, das Gerät und das System schützt.All UWP apps are distributed using a packaging system that protects the user, device, and system. Benutzer können UWP-Apps bedenkenlos installieren, da diese nach der Deinstallation bis auf die mit der App erstellten Dokumente keinerlei Daten im System hinterlassen.Users never need regret installing an app because UWP apps can be uninstalled without leaving anything behind except the documents created with the app.

Apps können nahtlos bereitgestellt und aktualisiert werden.Apps can be deployed and updated seamlessly. App-Pakete können modularisiert werden, damit Sie Inhalte und Erweiterungen nach Bedarf herunterladen können.App packaging can be modularized so that you can download content and extensions on demand.

Relevante Echtzeitinformationen lassen Benutzer immer wieder auf die App zugreifenDeliver relevant, real-time info to your users to keep them coming back

Es gibt zahlreiche Möglichkeiten, Benutzer für Ihre UWP-App zu begeistern:There are a variety of ways to keep users engaged with your UWP app:

  • Auf Live-Kacheln und auf dem Sperrbildschirm sind kontextbezogene, zeitnahe Informationen zur App auf einen Blick zu sehen.Live tiles and lock screen tiles that show contextually relevant and timely info from your app at a glance.
  • Pushbenachrichtigungen informieren Benutzer in Echtzeit über wichtige Ereignisse.Push notifications that bring real-time alerts to your user’s attention.
  • Dank Benutzeraktivitäten können Benutzer an der Stelle weiterarbeiten, an der sie aufgehört haben – sogar geräteübergreifend.User Activities allow users to pick up where they left off in your app, even across devices.
  • Im Info-Center werden Benachrichtigungen von Ihrer App organisiert.The Action Center organizes notifications from your app.
  • Die Ausführung im Hintergrund und Trigger aktivieren die App, wenn der Benutzer sie benötigt.Background execution and triggers bring your app into action when the user needs it.
  • Per Sprache und mit Bluetooth LE-Geräten kann Ihre App Benutzern die Interaktion mit der Welt um sie herum ermöglichen.Your app can use voice and Bluetooth LE devices to help users interact with the world around them.
  • Integrieren Sie Cortana, damit Ihre App Sprachbefehle unterstützt.Integrate Cortana to add voice command capability to your app.

Verwenden einer vertrauten SpracheUse a language you already know

UWP-Apps verwenden die Windows-Runtime, die native, vom Betriebssystem bereitgestellte API.UWP apps use the Windows Runtime, the native API provided by the operating system. Diese API ist in C++ implementiert und wird in C#, Visual Basic, C++ und JavaScript unterstützt.This API is implemented in C++ and is supported in C#, Visual Basic, C++, and JavaScript. Einige Optionen für das Schreiben von UWP-Apps:Some options for writing UWP apps include:

  • XAML-UI und C#, VB oder C++XAML UI and C#, VB, or C++
  • DirectX-UI und C++DirectX UI and C++
  • JavaScript und HTMLJavaScript and HTML

EinrichtenGet set up

Navigieren Sie zu Vorbereiten, um die erforderlichen Tools herunterzuladen und mit dem Erstellen von Apps zu beginnen, und schreiben Sie Ihre erste App.Check out Get set up to download the tools you need to start creating apps, and then write your first app.

Entwerfen der AppDesign your app

Das Entwurfssystem von Microsoft heißt Fluent.The Microsoft design system is named Fluent. Das Fluent Design System stellt eine Reihe von UWP-Funktionen in Kombination mit bewährten Methoden für die Erstellung von Apps bereit, die auf allen Windows-basierten Gerätetypen eine optimale Leistung bieten.The Fluent Design System is a set of UWP features combined with best practices for creating apps that perform beautifully on all types of Windows-powered devices. Fluent-Umgebungen sind anpassungsfähig und überzeugen auf Geräten wie Tablets, Laptops, PCs, TV- und Virtual-Reality-Geräten durch eine intuitive Bedienung.Fluent experiences adapt and feel natural on devices from tablets to laptops, from PCs to televisions, and on virtual reality devices. Weitere Informationen zum Fluent Design System finden Sie unter Das Fluent Design System für UWP-Apps.See The Fluent Design System for UWP apps for an introduction to Fluent Design.

Zu einem guten Design gehören nicht nur das Erscheinungsbild und die Funktionalität einer App, sondern auch die Entscheidung darüber, wie Benutzer mit der App interagieren.Good design is the process of deciding how users will interact with your app, in addition to how it will look and function. Die Benutzerfreundlichkeit spielt eine große Rolle bei der Beurteilung, wie gerne Benutzer Ihre App verwenden. Sparen Sie daher nicht an diesem Schritt.User experience plays a huge part in determining how happy people will be with your app, so don't skimp on this step. Designgrundlagen bieten eine Einführung in den Entwurf von UWP-Apps (Universelle Windows-Plattform).Design basics introduces you to designing a Universal Windows app. Unter Einführung in universelle Windows-Plattform-Apps (UWP) für Designer finden Sie Informationen zum Entwerfen von UWP-Apps, die Benutzer begeistern.See the Introduction to Universal Windows Platform (UWP) apps for designers for information on designing UWP apps that delight your users. Bevor Sie mit dem Schreiben von Code beginnen, lesen Sie die Informationen unter Einführung der Geräte. Diese helfen Ihnen dabei, die Interaktionsmöglichkeiten Ihrer App für alle in Frage kommenden Formfaktoren zu durchdenken.Before you start coding, see the device primer to help you think through the interaction experience of using your app on all the different form factors you want to target.

Zusätzlich zur Interaktion auf verschiedenen Geräten sollten Sie Ihre App planen, um die Vorteile verschiedener Geräte optimal zu nutzen.In addition to interaction on different devices, plan your app to embrace the benefits of working across multiple devices. Zum Beispiel:For example:

Dienste hinzufügenAdd services

Übermitteln Ihrer App an den StoreSubmit your app to the Store

Im Partner Center können Sie all Ihre Apps für Windows-Geräte zentral verwalten und übermitteln.Partner Center lets you manage and submit all of your apps for Windows devices in one place. Informieren Sie sich unter Veröffentlichen von Windows-Apps und -Spielen, wie Sie Ihre Apps für die Veröffentlichung im Microsoft Store übermitteln.See Publish Windows apps and games to learn how to submit your apps for publication in the Microsoft Store.

Neue Features vereinfachen Prozesse und geben Ihnen mehr Kontrolle.New features simplify processes while giving you more control. Sie finden dort auch detaillierte Analyseberichte in Kombination mit Auszahlungsdetails, Möglichkeiten, Ihre App zu bewerben und Kunden zu erreichen und vieles mehr.You'll also find detailed analytic reports combined payout details, ways to promote your app and engage with your customers, and much more.

Weitere einführende Informationen finden Sie unter Einführung in das Entwickeln von Windows-Apps für Windows 10-Geräte.For more introductory material, see An Introduction to Building Windows Apps for Windows 10 Devices

Fortgeschrittenere ThemenMore advanced topics

Beziehung zwischen der universellen Windows-Plattform und Windows-Runtime-APIsHow the Universal Windows Platform relates to Windows Runtime APIs

Wenn Sie eine App für die universelle Windows-Plattform (UWP) erstellen, verfügen Sie bereits über einen beträchtlichen Wissensvorsprung, wenn Sie die Begriffe „universelle Windows-Plattform (UWP)“ und „Windows-Runtime (WinRT)“ mehr oder weniger gleichbedeutend behandeln.If you're building a Universal Windows Platform (UWP) app, then you can get a lot of mileage and convenience out of treating the terms "Universal Windows Platform (UWP)" and "Windows Runtime (WinRT)" as more or less synonymous. Sie können auch hinter die Kulissen der Technologie blicken, um die Unterschiede zwischen beiden Ansätzen zu ergründen.But it is possible to look under the covers of the technology, and determine just what the difference is between those ideas. Wenn Sie sich für die Unterschiede interessieren, richtet sich dieser letzte Abschnitt an Sie.If you're curious about that, then this last section is for you.

Die Windows-Runtime und WinRT-APIs sind eine Weiterentwicklung der Windows-APIs.The Windows Runtime, and WinRT APIs, are an evolution of Windows APIs. Windows wurde ursprünglich über flache Win32-C-APIs programmiert.Originally, Windows was programmed via flat, C-style Win32 APIs. Diese wurden durch COM-APIs ergänzt (DirectX ist ein bekanntes Beispiel).To those were added COM APIs (DirectX being a prominent example). Mit Windows Forms, WPF, .NET und verwalteten Sprachen kamen nicht nur weitere individuelle Programmierweisen für Windows-Apps hinzu, sondern auch eigene API-Technologien.Windows Forms, WPF, .NET, and managed languages brought their own way of writing Windows apps, and their own flavor of API technology. Die Windows-Runtime stellt genauer betrachtet die nächste Stufe von COM dar.The Windows Runtime is, under the covers, the next stage of COM. Auf der tatsächlichen ABI (Application Binary Interface)-Ebene wird der Ursprung in COM sichtbar.At the actual application binary interface (ABI) layer, its roots in COM become visible. Bei der Konzeptionierung der Windows-Runtime wurde jedoch darauf geachtet, dass sie Aufrufe von vielen verschiedenen Programmiersprachen unterstützt.But the Windows Runtime was designed to be callable from a great range of different programming languages. Zudem sollten die Aufrufe für jede dieser Sprachen möglichst intuitiv zu schreiben sein.And callable in a way that's very natural to each of those languages. Zu diesem Zweck wird der Zugriff auf die Windows-Runtime über so genannte Sprachprojektionen ermöglicht.To this end, access to the Windows Runtime is made available via what are known as language projections. Es gibt eine Windows-Runtime-Sprachprojektion in C#, in Visual Basic in Standard C++, in JavaScript usw.There is a Windows Runtime language projection into C#, into Visual Basic, into standard C++, into JavaScript, and so on. Darüber hinaus können WinRT-APIs – nachdem sie ordnungsgemäß gepackt wurden (siehe Desktop-Brücke) – von Apps aufgerufen werden, die auf vielen verschiedenen Anwendungsmodellen basieren: Win32, .NET, WinForms und WPFFurthermore, once packaged appropriately (see Desktop Bridge), you can call WinRT APIs from an app built in one of a great range of application models: Win32, .NET, WinForms, and WPF.

Natürlich können Sie WinRT-APIs auch von Ihrer UWP-App aufrufen.And, of course, you can call WinRT APIs from your UWP app. UWP ist ein Anwendungsmodell, das auf der Windows-Runtime aufbaut.UWP is an application model built on top of the Windows Runtime. Technisch gesehen basiert das UWP-Anwendungsmodell auf CoreApplication, obwohl Ihnen dieses Detail je nach verwendeter Programmiersprache möglicherweise verborgen bleibt.Technically, the UWP application model is based on CoreApplication, although that detail may be hidden from you, depending on your choice of programming language. Wie in diesem Thema erörtert, eignet sich die UWP im Hinblick auf ihren Wertbeitrag zum Schreiben einzelner Binärdateien, die (falls gewünscht) im Microsoft Store veröffentlicht und auf einer breiten Palette von Geräten unterschiedlicher Formfaktoren ausgeführt werden können.As this topic has explained, from a value proposition point of view, the UWP lends itself to writing a single binary that can, should you choose, be published to the Microsoft Store and run on any one of a great range of device form factors. Welche Geräte Ihre UWP-App unterstützt, richtet sich danach, auf welche Teilmenge von UWP-APIs Sie die App-Aufrufe beschränken oder welche APIs Sie bedingt aufrufen.The device reach of your UWP app depends on the subset of UWP APIs that you limit your app to calling, or that you call conditionally.

Wir hoffen, dass wir in diesem Abschnitt die Unterschiede zwischen der Technologie, die Windows-Runtime-APIs zugrunde liegt, und dem Mechanismus und geschäftlichen Nutzen verdeutlichen konnten, den die universelle Windows-Plattform bieten kann.Hopefully, this section has been successful in describing the difference between the technology underlying Windows Runtime APIs, and the mechanism and business value of the Universal Windows Platform.