- Введение в UWP
- Что такое Universal Windows Platform
- Почему UWP?
- Что необходимо для разработки под UWP
- Develop apps for the Universal Windows Platform (UWP)
- Requirements
- Universal Windows apps
- Что такое приложение UWP? What’s a Universal Windows Platform (UWP) app?
- Какое место принадлежит UWP в истории разработки Майкрософт? Where does UWP fit in the Microsoft development story?
- Возможности приложения UWP Features of a UWP app
- Безопасность Secure
- Общая поверхность API для всех устройств A common API surface across all devices
- Пакеты SDK расширений предоставляют уникальные возможности для конкретных типов устройств Extension SDKs expose the unique capabilities of specific device types
- Адаптивные элементы управления и ввод Adaptive controls and input
- Один магазин для всех устройств. There’s one store for all devices
- Монетизация приложения Monetize your app
- Актуальная информация в реальном времени, которая побуждает пользователей вновь и вновь обращаться к приложению Deliver relevant, real-time info to your users to keep them coming back
- Использование уже знакомого языка Use a language you already know
- Ссылки, которые помогут вам приступить к работе Links to help you get going
- Подготовка Get set up
- Проектирование приложения Design your app
- Добавление служб Add services
- Отправьте приложение в Store. Submit your app to the Store
- Более сложные темы More advanced topics
- Сопоставление универсальной платформы Windows (UWP) и API времени выполнения Windows How the Universal Windows Platform relates to Windows Runtime APIs
Введение в UWP
Что такое Universal Windows Platform
UWP (Universal Windows Platform) представляет собой унифицированную платформу для создания и запуска приложений в Windows 10 и Windows 10 Mobile.
UWP стала результатом эволюции более ранних технологий. Так, с выходом Windows 8 была внедрена новая архитектурная платформа для приложений — Windows Runtime (WinRT), которая позволяла запускать приложения в так называемом режиме Modern (Metro) на десктопах, планшетах. Затем с выходом Windows 8.1 и Windows Phone 8.1 эта технология получила развитие — появились «универсальные приложения», которые можно было запускать сразу Windows 8.1 и WP8.1. И в июле 2015 года официально вышла новая ОС Windows 10. Она использует платформу UWP, которая представляет собой развитие Windows Runtime.
Как подсказывает название платформы, она является универсальной — универсальной для всех устройств экосистемы Windows 10. А это обычные дестопы, планшеты, мобильные устройства, устройства IoT (интернет вещей), Xbox, устройства Surface Hub. И приложение UWP может одинаково работать на всех этих платформах, если на них установлена Windows 10.
Почему UWP?
Программирование под UWP несет ряд преимуществ:
Широта распространения . На текущий момент (апрель 2017) Windows 10 установлена уже более чем на 400 миллионах устройств. На десктопах Windows 10 уже опередила Windows 8/8.1.
Поддержка широкого круга устройств . Десктопы, планшеты, смартфоны, большие планшеты Surface Hub, различные IoT-устройства, в перспективе устройства виртуальной реальности HoloLens — круг устрйоств, на которых может работать Windows 10 действительно широк.
Поддержка разных языков и технологий программирования . UWP-приложения можно создавать с помощью таких языков, как Visual C++, C#, Visual Basic, JavaScript. В качестве технологии для создания графического интерфейса Visual C++, C# и Visual Basic используют XAML, JavaScript применяет HTML. Кроме того, С++ может вместо XAML использовать DirectX. То есть достаточно распространенные и и знакомые многим технологии.
Магазин приложений и удобство распространения . Windows Store представляет собой прекрасное место для распространения UWP-приложений, как платных, так и бесплатных. Сами возможности платформы и магазина Windows Store позволяют использовать разные способы монетизации. Например, можно интегрировать в приложения блоки для показа рекламы через различные SDK. Можно распространять за определенную плату, причем оплату можно гибко настраивать. При необходимости можно встроить предоставление ознакомительной версии, после использования которой пользователь может решить, покупать приложение или нет. И также можно монетизировать по модели freemium, при которой приложение условно бесплатное, а отдельные услуги внутри приложения предоставляются за определенную плату. Причем все эти возможности монетизации обесечиваются встроенными инструментами SDK.
Богатые возможности платформы . UWP многое наследует от Windows Runtime из Windows 8.1 и в то же время предоставляет много новых функцональностей, как, более богатые возможности по интеграции с облаком, использование Cortana, системы уведомлений в Win10 и многое другое.
Что необходимо для разработки под UWP
Для программирования под UWP необходима ОС Windows 10. Все другие операционные системы, как Windows 8.1/8/7, не говоря уже о Windows XP, не подходят !
Также потребуется среда разработки Visual Studio 2017 Community. Это полнофункциональная бесплатная среда разработки, которую можно загрузить с официального сайта по адресу https://www.visualstudio.com/downloads/download-visual-studio-vs.
Также можно использовать версию VS 2015, а все остальные предыдущие версии Visual Studio — 2013, 2012, 2010 и т.д. с UWP не работают.
При установке Visual Studio 2017 в программе установщика необходимо отметить соответствующий пункт:
Перед чем как начать создание приложений, убедитесь, что в центре обновления в Windows 10 установлена соответствующая опция для разработчиков:
И имея Windows 10 и установленную Visual Studio 2017, можно приступать к разработке приложений.
Develop apps for the Universal Windows Platform (UWP)
With the Universal Windows Platform and our one Windows core, you can run the same app on any Windows 10 device, from phones to desktops. Create these Universal Windows apps with Visual Studio and the Universal Windows App development tools.
Run your app on a Windows 10 phone, a Windows 10 desktop, or an Xbox. It’s the same app package! With the introduction of the Windows 10 single, unified core, one app package can run across all platforms. Several platforms have extension SDKs that you can add to your app to take advantage of platform-specific behaviors. For example, an extension SDK for mobile handles the back button being pressed on a Windows phone. If you reference an extension SDK in your project, then just add runtime checks to test if that SDK is available on that platform. That’s how you can have the same app package for each platform!
What is the Windows core?
For the first time, Windows has been refactored to have a common core across all Windows 10 platforms. There is one common source, one common Windows kernel, one file I/O stack, and one app model. For the UI, there is just one XAML UI framework and one HTML UI framework. You can concentrate on creating a great app, because we’ve made it easy to have your app run on different Windows 10 devices.
What exactly is the Universal Windows Platform?
The Universal Windows Platform is simply a collection of contracts and versions. These allow you to target where your app can run. You no longer target an operating system; now you target one or more device families. Learn more details by reading Intro to the Universal Windows Platform.
Requirements
The Universal Windows App development tools come with emulators that you can use to see how your app looks on different devices. If you want to use these emulators, you need to install this software on a physical machine. The physical machine must run Windows 8.1 (x64) Professional edition or higher, and have a processor that supports Client Hyper-V and Second Level Address Translation (SLAT). The emulators cannot be used when Visual Studio is installed on a virtual machine.
Here is the list of software that you need:
Windows 10. Visual Studio 2017 supports UWP development only on Windows 10. For more details, see Visual Studio Platform targeting and System requirements.
Visual Studio. You will also need the optional Universal Windows Platform development workload.
Windows 10. Visual Studio 2019 supports UWP development only on Windows 10. For more details, see Visual Studio Platform targeting and System requirements.
Visual Studio. You will also need the optional Universal Windows Platform development workload.
After installing this software, you need to enable your Windows 10 device for development. See Enable your device for development. You no longer need a developer license for each Windows 10 device.
Universal Windows apps
Choose your preferred development language from C#, Visual Basic, C++ or JavaScript to create a Universal Windows Platform app for Windows 10 devices. Read Create your first app or watch the Tools for Windows 10 Overview video.
If you have existing Windows Store 8.1 apps, Windows Phone 8.1 apps, or Universal Windows apps that were created with Visual Studio 2015, you’ll need to port these apps to use the latest Universal Windows Platform. See Move from Windows Runtime 8.x to UWP.
After you create your Universal Windows app, you must package your app to install it on a Windows 10 device or submit it to the Windows Store. See Packaging apps.
Что такое приложение UWP? What’s a Universal Windows Platform (UWP) app?
UWP — это один из многих способов создания клиентских приложений для Windows. UWP is one of many ways to create client applications for Windows. Приложения UWP используют API WinRT для предоставления мощных пользовательских интерфейсов и расширенных асинхронных функций, которые идеально подходят для устройств, подключенных к Интернету. UWP apps use WinRT APIs to provide powerful UI and advanced asynchronous features that are ideal for internet-connected devices.
Чтобы скачать средства, требуемые для создания приложений UWP, ознакомьтесь со сведениями о подготовке, а затем напишите свое первое приложение. To download the tools you need to start creating UWP apps, see Get set up, and then write your first app.
Какое место принадлежит UWP в истории разработки Майкрософт? Where does UWP fit in the Microsoft development story?
UWP — это один из вариантов создания приложений, которые работают на устройствах Windows 10 и могут использоваться на других платформах. UWP is one choice for creating apps that run on Windows 10 devices, and can be combined with other platforms. Приложения UWP могут использовать API Win32 и классы .NET (см. статьи Наборы API для приложений универсальной платформы Windows (UWP), Библиотеки DLL для приложений универсальной платформы Windows (UWP) и Браузер API .NET). UWP apps can make use of Win32 APIs and .NET classes (see API Sets for UWP apps, Dlls for UWP apps, and .NET for UWP apps).
История разработки Майкрософт получила логическое развитие с реализацией UWP — мощного средства для создания клиентских приложений, используемого наряду с такими инициативами, как WinUI, MSIX и Project Reunion. The Microsoft development story continues to evolve, and along with initiatives such as WinUI, MSIX, and Project Reunion, UWP is a powerful tool for creating client apps.
Возможности приложения UWP Features of a UWP app
Основные достоинства приложения UWP. A UWP app is:
- Безопасность. Приложения UWP объявляют, к каким ресурсам устройства и данным они осуществляют доступ. Secure: UWP apps declare which device resources and data they access. Пользователь должен разрешить такой доступ. The user must authorize that access.
- Возможность использовать общий API на всех устройствах под управлением Windows 10. Able to use a common API on all devices that run Windows 10.
- Возможность использования возможностей отдельных устройств и адаптации пользовательского интерфейса к разным размерам экранов, разрешениям и плотностям точек. Able to use device specific capabilities and adapt the UI to different device screen sizes, resolutions, and DPI.
- Доступность в Microsoft Store, на всех устройствах (или только тех, которых вы укажете), работающих под управлением Windows 10. Available from the Microsoft Store on all devices (or only those that you specify) that run on Windows 10. В Microsoft Store предусмотрено несколько способов монетизировать ваше приложение. The Microsoft Store provides multiple ways to make money on your app.
- Возможность устанавливаться и удаляться без риска для компьютера или «деградации» ПО. Able to be installed and uninstalled without risk to the machine or incurring «machine rot».
- Увлекательность: возможность использовать живые плитки, push-уведомления и пользовательские действия, взаимодействующие с временной шкалой Windows и функцией «Продолжить с места остановки» Кортаны, для поддержания интереса пользователей к приложению. 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.
- Возможность программирования на C#, C++, Visual Basic и JavaScript. Programmable in C#, C++, Visual Basic, and Javascript. Для пользовательского интерфейса можно использовать WinUI, XAML, HTML или DirectX. For UI, use WinUI, XAML, HTML, or DirectX.
Рассмотрим все это более подробно. Let’s look at these in more detail.
Безопасность Secure
В манифестах приложений UWP объявляются возможности устройства, необходимые приложению, — например, доступ к микрофону, геоданным, веб-камере, USB-устройствам, файлам и т. д. 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. Прежде чем приложение получит доступ к возможности, пользователь должен подтвердить и разрешить такой доступ. The user must acknowledge and authorize that access before the app is granted the capability.
Общая поверхность API для всех устройств A common API surface across all devices
В Windows 10 впервые появилась универсальная платформа Windows (UWP), которая предоставляет общую платформу приложений на любом устройстве, работающем под управлением Windows 10. Windows 10 introduces the Universal Windows Platform (UWP), which provides a common app platform on every device that runs Windows 10. Основные API UWP одинаковы на всех устройствах Windows. The UWP core APIs are the same on all Windows devices. Если ваше приложение использует только основные API, оно будет работать на любом устройстве под управлением Windows 10, независимо от того, под какое устройство оно разрабатывалось — ПК, Xbox, гарнитуру смешанной реальности и т. п. 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.
Приложение UWP, написанное на C++ /WinRT или C++ /CX, имеет доступ к API-интерфейсам Win32, которые входят в состав UWP. A UWP app written in C++ /WinRT or C++ /CX has access to the Win32 APIs that are part of the UWP. Эти API Win32 реализуются всеми устройствами с Windows 10. These Win32 APIs are implemented by all Windows 10 devices.
Пакеты SDK расширений предоставляют уникальные возможности для конкретных типов устройств Extension SDKs expose the unique capabilities of specific device types
Если вы разрабатываете приложение для универсальных API, такое приложение сможет работать на всех устройствах под управлением Windows 10. If you target the universal APIs, then your app can run on all devices that run Windows 10. Но если вы хотите, чтобы ваше приложение UWP могло пользоваться преимуществами API конкретных устройств, это также возможно. But if you want your UWP app to take advantage of device-specific APIs, then you can do that, too.
Пакеты SDK расширений позволяют вызывать специализированные API для различных устройств. Extension SDKs let you call specialized APIs for different devices. Например, если ваше приложение UWP предназначено для устройства Интернета вещей, вы можете добавить в свой проект пакет SDK расширения для Интернета вещей, чтобы реализовать функции, характерные для устройств Интернета вещей. 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. См. сведения в разделе Пакеты SDK расширений статьи Программирование с помощью пакетов SDK расширений. For more information about adding extension SDKs, see the Extension SDKs section in Programming with extension SDKs.
Вы можете написать приложение так, чтобы оно было предназначено для запуска только на устройствах определенного типа, а затем ограничить его распространение в Microsoft Store только этим типом устройств. 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. Или же вы можете реализовать условную проверку на наличие того или иного API во время выполнения и соответствующим образом адаптировать поведение своего приложения. Or, you can conditionally test for the presence of an API at runtime and adapt your app’s behavior accordingly. См. сведения в разделе Написание кода статьи Программирование с помощью пакетов SDK расширений. For more information, see the Writing code section in Programming with extension SDKs.
Следующее видео представляет собой краткий обзор семейств устройств и написания адаптивного кода: The following video provides a brief overview of device families and adaptive coding:
Адаптивные элементы управления и ввод Adaptive controls and input
Элементы пользовательского интерфейса реагируют на размер и плотность точек экрана, на котором выполняется приложение, и выбирают подходящий масштаб и макет. UI elements respond to the size and DPI of the screen the app is running on by adjusting their layout and scale. Кроме того, приложения UWP отлично работают с различными средствами ввода, такими как клавиатура, мышь, сенсорные устройства, перо и устройства управления Xbox One. UWP apps work well with multiple types of input such as keyboard, mouse, touch, pen, and Xbox One controllers. Если нужно дополнительно настроить пользовательский интерфейс в соответствии с определенным размером экрана или типом устройства, новые панели макета и инструменты помогут вам разработать интерфейс, способный адаптироваться к различным устройствам и форм-факторам, на которых может работать ваше приложение. 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 позволяет ориентировать пользовательский интерфейс на множество устройств с помощью следующих функций: Windows helps you target your UI to multiple devices with the following features:
- Универсальные элементы управления и панели макета помогают оптимизировать пользовательский интерфейс под любое разрешение экрана на конкретном устройстве. Universal controls and layout panels help you to optimize your UI for the screen resolution of the device. Например, такие элементы управления, как кнопки и ползунки, автоматически адаптируются к размеру и плотности точек на экране устройства. For example, controls such as buttons and sliders automatically adapt to device screen size and DPI density. Панели макета помогают корректировать компоновку содержимого в зависимости от размера экрана. Layout panels help adjust the layout of content based on the size of the screen. Адаптивное масштабирование подстраивается под различия в разрешении и DPI на всех устройствах. Adaptive scaling adjusts to resolution and DPI differences across devices.
- Единая обработка ввода позволяет получать входные данные с помощью касаний, пера, мыши, клавиатуры или контроллера, например Microsoft Xbox. 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.
- Инструменты помогут разработать вам пользовательский интерфейс, способный адаптироваться под разные разрешения экрана. Tooling that helps you to design UI that can adapt to different screen resolutions.
Некоторые характеристики пользовательского интерфейса приложения автоматически корректируются под разные устройства. Some aspects of your app’s UI will automatically adapt across devices. Однако при проектировании пользовательского интерфейса приложения могут потребоваться некоторые изменения в поведении приложения в зависимости от устройства, на котором оно работает. Your app’s user-experience design, however, may need to adapt depending on the device the app is running on. Например, приложению для фотографирования при работе на маленьком наладонном устройстве следует адаптировать свой интерфейс так, чтобы с ним удобно было работать одной рукой. 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. Когда это же приложение для фотографирования запускается на настольном компьютере, пользовательский интерфейс должен адаптироваться так, чтобы использовать дополнительное пространство экрана. When a photo app is running on a desktop computer, the UI should adapt to take advantage of the additional screen space.
Один магазин для всех устройств. There’s one store for all devices
Благодаря единому магазину ваше приложение будет доступно на различных устройствах с Windows 10 — ПК, планшетах, HoloLens, Surface Hub, а также устройствах для Интернета вещей. 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. Вы можете отправить приложение в магазин и сделать его доступным для всех типов устройств или только некоторых из них. You can submit your app to the store and make it available to all types of devices, or only those you choose. Вы отправляете все свои приложения для устройств с ОС Windows и управляете ими централизованно. You submit and manage all your apps for Windows devices in one place. У вас есть классическое приложение на C++, которое вы хотите модернизировать за счет возможностей UWP и продавать в Microsoft Store? Have a C++ desktop app that you want to modernize with UWP features and sell in the Microsoft store? Это тоже возможно. That’s okay, too.
Приложения UWP интегрируются с Application Insights для получения подробной телеметрии и аналитики, что поможет вам понять предпочтения своих пользователей и усовершенствовать приложения. UWP apps integrate with Application Insights for detailed telemetry and analytics—a crucial tool for understanding your users and improving your apps.
Приложения UWP можно упаковывать с использованием MSIX и распространять через Microsoft Store или другими способами. UWP apps can be packaged with MSIX and distributed via the Microsoft Store, or in other ways. MSIX позволяет обновлять приложения независимо от способа их распространения (см. статью Обновление пакетов приложений, опубликованных не в Store, из кода). MSIX allows apps to be updated no matter how they are distributed, see Update non-Store published app packages from your code.
Монетизация приложения Monetize your app
Вы можете выбрать способ монетизации своего приложения. You can choose how you’ll monetize your app. Существует целый ряд способов заработать на своем приложении. There are a number of ways to make money with your app. Вам нужно только выбрать наиболее подходящий (примеры способов приведены ниже). All you need to do is choose the one that works best for you, for example:
- Платное скачивание — самый простой вариант. A paid download is the simplest option. Просто назовите свою цену. Just name the price.
- Ознакомительные версии позволяют опробовать ваше приложение перед покупкой. Так ваше приложение становится заметнее для пользователей, к тому же это увеличивает процент покупателей от общего числа посетителей по сравнению с более традиционными минимально-бесплатными версиями. Trials let users try your app before buying it, providing easier discoverability and conversion than the more traditional «freemium» options.
- Скидки и распродажи, которые мотивируют пользователей совершить покупку. Sale prices to incentivize users.
- Покупки из приложения. In-app purchases.
Актуальная информация в реальном времени, которая побуждает пользователей вновь и вновь обращаться к приложению Deliver relevant, real-time info to your users to keep them coming back
Есть множество способов поддерживать интерес пользователей к приложению UWP. There are a variety of ways to keep users engaged with your UWP app:
- Живые плитки и плитки экрана блокировки, на которые выводится краткий обзор актуальной и значимой в определенном контексте информации из приложения. Live tiles and lock screen tiles that show contextually relevant and timely info from your app at a glance.
- Push-уведомления, которые предлагают вниманию пользователей важные оповещения в нужный момент. Push notifications that bring real-time alerts to your user’s attention.
- Действия пользователей, которые позволяют им продолжить работу в приложении с того места, где они остановились — даже на другом устройстве. User Activities allow users to pick up where they left off in your app, even across devices.
- Центр уведомлений обеспечивает организацию уведомлений, поступающих из вашего приложения. The Action Center organizes notifications from your app.
- Фоновое выполнение и триггеры позволяют вашему приложению возобновлять работу именно тогда, когда это нужно пользователю. Background execution and triggers bring your app into action when the user needs it.
- Приложение может использовать голосовое управление и устройства Bluetooth LE, чтобы пользователи могли взаимодействовать с окружающим миром. Your app can use voice and Bluetooth LE devices to help users interact with the world around them.
- Интеграция с Кортаной позволяет добавить в ваше приложение возможности голосового управления. Integrate Cortana to add voice command capability to your app.
Использование уже знакомого языка Use a language you already know
Приложения UWP могут использовать среду выполнения Windows, то есть собственный API, встроенный в операционную систему. UWP apps use the Windows Runtime, the native API provided by the operating system. Этот API реализован на языке C++ и поддерживается в C#, Visual Basic, C++ и JavaScript. This API is implemented in C++ and is supported in C#, Visual Basic, C++, and JavaScript. Некоторые из языков и технологий, пригодных для написания приложений UWP: Some options for writing UWP apps include:
- XAML (для пользовательского интерфейса) и C#, VB или C++; XAML UI and C#, VB, or C++
- DirectX (для пользовательского интерфейса) и C++; DirectX UI and C++
- JavaScript и HTML. JavaScript and HTML
- WinUI WinUI
Ссылки, которые помогут вам приступить к работе Links to help you get going
Подготовка Get set up
Скачайте средства, необходимые для создания приложений, на странице Get set up (Подготовка), а затем создайте свое первое приложение. Check out Get set up to download the tools you need to start creating apps, and then write your first app.
Проектирование приложения Design your app
Корпорация Майкрософт предоставляет систему проектирования под названием Fluent. The Microsoft design system is named Fluent. Fluent Design — это набор функций UWP в сочетании с рекомендациями по созданию приложений, которые будут прекрасно смотреться на всех типах устройств под управлением Windows. 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 приложения адаптируются к самым разным устройствам — от планшетов и ноутбуков до ПК и телевизоров, и даже к устройствам виртуальной реальности — и выглядят на них совершенно естественно. Fluent experiences adapt and feel natural on devices from tablets to laptops, from PCs to televisions, and on virtual reality devices. Вводные сведения о системе Fluent см. в статье The Fluent Design System for Windows app creators (Система проектирования Fluent для разработчиков приложений Windows). See The Fluent Design System for UWP apps for an introduction to Fluent Design.
Хорошее проектирование подразумевает принятие решений о том, как пользователи будут взаимодействовать с приложением, а также как оно будет выглядеть и функционировать. Good design is the process of deciding how users will interact with your app, in addition to how it will look and function. Взаимодействие с пользователем очень сильно повлияет на то, насколько люди будут довольны вашим приложением, так что не пренебрегайте этим шагом. User experience plays a huge part in determining how happy people will be with your app, so don’t skimp on this step. Из статьи Проектирование и разработка приложений для Windows вы узнаете, с чего начинать проектирование универсального приложения для Windows. Design basics introduces you to designing a Universal Windows app. Сведения о проектировании приложений UWP, которыми будут довольны все пользователи, см. в руководстве по приложениям универсальной платформы Windows (UWP) для разработчиков. See the Introduction to Universal Windows Platform (UWP) apps for designers for information on designing UWP apps that delight your users. Прежде чем приступить к написанию кода, изучите вводную информацию об устройствах. Это поможет вам продумать взаимодействие с пользователем в приложении на устройствах любых форм-факторов, на которые вы ориентируетесь. 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.
Помимо взаимодействия на разных устройствах, проектируйте приложение так, чтобы использовать все преимущества работы на разных устройствах. In addition to interaction on different devices, plan your app to embrace the benefits of working across multiple devices. Например: For example:
При разработке рабочего процесса учитывайте основы проектирования навигации для приложений UWP, чтобы поддерживать мобильные устройства, большие и маленькие экраны. Design your workflow using Navigation design basics for UWP apps to accommodate mobile, small-screen, and large-screen devices. Продумайте макет пользовательского интерфейса, который изменяется в соответствии с размером и разрешением экрана. Lay out your user interface to respond to different screen sizes and resolutions.
Подумайте, как вы реализуете прием нескольких типов ввода. Consider how you’ll accommodate multiple kinds of input. Ознакомьтесь с руководством по взаимодействию, чтобы узнать, как пользователи могут взаимодействовать с вашим приложением с помощью Кортаны, службы «Речь», распознавания сенсорного ввода, сенсорной клавиатуры и других возможностей. See the Guidelines for interactions to learn how users can interact with your app by using Cortana, Speech, Touch interactions, the Touch keyboard and more. Или ознакомьтесь с руководством по тексту и текстовому вводу, чтобы узнать больше о традиционных способах взаимодействия. Or, see the Guidelines for text and text input for more traditional interaction experiences.
Добавление служб Add services
- Используйте облачные службы, чтобы выполнять синхронизацию между устройствами. Use cloud services to sync across devices.
- Узнайте, как подключаться к веб-службам для улучшения взаимодействия с приложением. Learn how to connect to web services to support your app experience.
- Включите в свой план push-уведомления и покупки из приложений. Include Push notifications and in-app purchases in your planning. Эти функции должны работать на всех устройствах. These features should work across devices.
Отправьте приложение в Store. Submit your app to the Store
Центр партнеров позволяет централизованно управлять всеми приложениями и держать в одном месте все приложения для устройств Windows. Partner Center lets you manage and submit all of your apps for Windows devices in one place. См. статью Публикация приложений и игр для Windows, чтобы узнать, как отправлять приложения в Microsoft Store для публикации. See Publish Windows apps and games to learn how to submit your apps for publication in the Microsoft Store.
Новые возможности упрощают процессы, обеспечивая больший контроль с вашей стороны. New features simplify processes while giving you more control. Вы также найдете здесь подробные аналитические отчеты вместе с сведениями о выплатах, способами продвижения вашего приложения среди пользователей и многие другие сведения. You’ll also find detailed analytic reports combined payout details, ways to promote your app and engage with your customers, and much more.
Подробные вводные сведения см. в статье Windows 10 — An Introduction to Building Windows Apps for Windows 10 Devices (Вводные сведения о создании приложений для Windows для устройств с Windows 10). For more introductory material, see An Introduction to Building Windows Apps for Windows 10 Devices
Более сложные темы More advanced topics
- Узнайте, как использовать действия пользователей для отображения действий, выполняемых пользователями в вашем приложении, на временной шкале Windows и в функции «Продолжить с места остановки» Кортаны. Learn how to use User Activities so that user activity in your app appear in Windows Timeline and Cortana’s Pick Up Where I Left Off feature.
- Узнайте, как использовать плитки, индикаторы событий и уведомления для приложений UWP. Learn how to use Tiles, badges, and notifications for UWP apps.
- Полный список API-интерфейсов Win32, доступных для приложений UWP, можно найти в статьях Наборы API-интерфейсов для приложений UWP и Библиотеки DLL для приложений UWP. For the full list of Win32 APIs available to UWP apps, see API Sets for UWP apps and Dlls for UWP apps.
- В статье Universal Windows apps in .NET (Универсальные приложения для Windows в .NET) вы найдете общие сведения о написании приложений UWP для .NET. See Universal Windows apps in .NET for an overview of writing .NET UWP apps.
- Список типов .NET, которые можно использовать в приложении UWP, см. в статье Браузер API .NET For a list of .NET types that you can use in a UWP app, see .NET for UWP apps
- Компиляция приложений с помощью .NET Native. Compiling apps with .NET Native
- Узнайте, как добавить в существующее классическое приложение современные способы взаимодействия, ориентированные на пользователей Windows 10, и распространять его через Microsoft Store с помощью моста для классических приложений. Learn how to add modern experiences for Windows 10 users to your existing desktop app and distribute it in the Microsoft Store with the Desktop Bridge.
Сопоставление универсальной платформы Windows (UWP) и API времени выполнения Windows How the Universal Windows Platform relates to Windows Runtime APIs
Если вы разрабатываете приложение для универсальной платформы Windows (UWP), вам будет намного проще и удобнее считать термины «Универсальная платформа Windows» и «Среда выполнения Windows (WinRT)» почти синонимами. 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. Но у вас есть возможность заглянуть «под капот» этих технологий и определить различия между концепциями. But it is possible to look under the covers of the technology, and determine just what the difference is between those ideas. Если вам это интересно, то этот последний раздел написан именно для вас. If you’re curious about that, then this last section is for you.
Среда выполнения Windows и API-интерфейсы WinRT развиваются на основе API-интерфейсов Windows. The Windows Runtime, and WinRT APIs, are an evolution of Windows APIs. Первоначально Windows программировалась через плоские API Win32 в стиле C. Originally, Windows was programmed via flat, C-style Win32 APIs. Поверх них были добавлены API-интерфейсы COM (из которых самым ярким примером можно считать DirectX). To those were added COM APIs (DirectX being a prominent example). Windows Forms, WPF, .NET и управляемые языки привнесли собственные способы написания приложений Windows и специфичные технологии API. Windows Forms, WPF, .NET, and managed languages brought their own way of writing Windows apps, and their own flavor of API technology. Среда выполнения Windows фактически является следующим этапом развития модели COM. The Windows Runtime is, under the covers, the next stage of COM. На уровне двоичного интерфейса (ABI) родственные связи с COM становятся очевидными. At the actual application binary interface (ABI) layer, its roots in COM become visible. Однако среда выполнения Windows была разработана так, чтобы ее можно было вызывать из большого числа разных языков программирования. But the Windows Runtime was designed to be callable from a great range of different programming languages. Эти вызовы совершаются самым естественным способом для каждого из этих языков. And callable in a way that’s very natural to each of those languages. Поэтому доступ к среде выполнения Windows реализован через особый механизм языковых проекций. To this end, access to the Windows Runtime is made available via what are known as language projections. Существуют языковые проекции среды выполнения Windows для C#, Visual Basic, стандартного C++, JavaScript и т. д. There is a Windows Runtime language projection into C#, into Visual Basic, into standard C++, into JavaScript, and so on. Кроме того, после однократной упаковки (подробнее см. в описании моста для классических приложений) вы можете вызывать API-интерфейсы WinRT из приложения, созданного на основе любой из многих моделей приложений: Win32, .NET, WinForms и WPF. Furthermore, 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.
И, само собой, API-интерфейсы WinRT можно вызвать из приложения UWP. And, of course, you can call WinRT APIs from your UWP app. Модель приложения UWP создана на основе среды выполнения Windows. UWP is an application model built on top of the Windows Runtime. С технической точки зрения модель приложения UWP основана на CoreApplication, но некоторые подробности могут быть недоступны в зависимости от выбора языка программирования. Technically, the UWP application model is based on CoreApplication, although that detail may be hidden from you, depending on your choice of programming language. Как описано в этом разделе, с точки зрения ценности платформа UWP предназначена для создания единого двоичного файла, который вы сможете при желании опубликовать в Microsoft Store и запустить на любых устройствах самых разных форм-факторов. 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. Охват устройств для приложений UWP зависит от API среды выполнения Windows, которые может вызывать приложение или которые вы можете вызывать условно. The device reach of your UWP app depends on the subset of Windows Runtime APIs that you limit your app to calling, or that you call conditionally.
Мы надеемся, что смогли описать в этом разделе разницу между базовыми технологиями API среды выполнения Windows и механизмом и ценностью универсальной платформы Windows. 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.