Несколько дней назад компания Microsoft раскрыла подробности о работе новой операционной системы Windows 10X, а также опубликовала эмулятор, благодаря чему разработчики уже могут приступить к оптимизации своих приложений для устройств с двумя экранами.
Одна из важнейших функций Windows 10X — контейнеризация выполняемых приложений, и именно о ней стоит поговорить более подробно.
Знакомство
Первым делом поближе познакомьтесь со универсальной платформой для приложений, которая с этого места будет носить своё официальное название – Universal Windows Platform или просто UWP. Появилась она ещё во времена Windows 8, а сегодня обросла всеми необходимыми удобствами. Концепция хоть и носит лозунг «одно приложение для всех устройств», но для хорошего приложения ориентироваться на отдельный тип всё-таки придётся. В общем, все возможности и ограничения UWP вы узнаете если прочитаете официальный релиз от Microsoft:
Введение в работу с универсальной платформой Windows
Адаптивный код использует преимущества сильных сторон устройства
UWP позволяет адаптировать пользовательский интерфейс, так чтобы в своих интересах использовать сильные стороны различных устройств. Вы можете написать адаптивный код, который использует возможности конкретного аппарата именно тогда, когда приложение работает на этом девайсе, или в принципе ориентировать приложение на определённый тип устройств. Visual Studio фильтрует доступные API-интерфейсы в соответствии с тем, какие из них связаны с той категорией устройств, на которую Вы ориентируетесь. Windows Store отбирает доступные приложения по типу используемого устройства. Приложения UWP доступны для всех устройств.
API-интерфейсы Кортаны позволяют добавлять в приложения голосовые команды. Достаточно зарегистрировать действия приложения на портале Кортаны, и она начнёт предлагать их, когда их выполнение будет предусмотрено в определённое время и в конкретном месте.
С тем чтобы помочь Вам писать привлекательные приложения для UWP, Visual Studio предлагает исключительное многообразие инструментов отладки и работы с кодом. Доступны ресурсы, призванные помочь Вам создавать приложение, например, образцы кода (bit.ly/1RhG46l), фрагменты задач (bit.ly/2dINSo9), энергичное сообщество разработчиков, где можно получить помощь, а также библиотеки, в числе которых UWP Community Toolkit (bit.ly/2b1PAJY), которые позволяют использовать анимации, пользовательские элементы управления и службы типа Twitter и Facebook. В результате получается один пакет приложения, который может быть установлен на всех базирующихся на UWP устройствах.
Язык
В информационном листе Microsoft вы можете найти следующую фразу: «Вы можете создавать приложения UWP на тех языках программирования, с которыми вы знакомы лучше всего…». Фактически, это не совсем так. Вам на выбор предлагаются 4 из них: , Visual Basic, C++ и JavaScript. Безусловно, это лучше, чем строгое ограничение, но универсальностью это назвать затруднительно.
Кстати, справочники по всем четырём языкам можно найти непосредственно на сайте Microsoft или просто нажав на предоставленные ссылки. Также на нашем сайте вы можете пройти бесплатный интенсив по основам языка C#.
Все должно получиться
Интересно, что только потому, что Win32 — приложения контейнеризированы на Windows 10X, они не делают их менее мощными. Microsoft заявляет, что эти приложения по-прежнему получают полный доступ к таким вещам, как:
Мышь, клавиатура, ручка, касание.
Графика DirectX, аудио, медиа.
Сетевой.
Печатающий.
Это означает, что старая модель «подключи и играй» все еще действует здесь, и ПК, такой как Surface Neo, должен быть в состоянии запускать все, что вы подключаете к нему, включая внешние мониторы и периферийные устройства.
Безопасность также повышена, поскольку пользователь может запретить доступ ко всем классическим приложениям Win32 для таких вещей, как камера ПК, микрофон и даже местоположение. Приложения UWP уже делают это в отдельной системе разрешений уровня приложения, но в Windows 10X пользователи могут отключить его для всех приложений Win32 на уровне контейнера, если они захотят.
Поскольку в Windows 10X нет системного трея, эти «классические» приложения не могут его использовать. Но даже если эти приложения делают звонки на вещи в Windows 10X, которые не существуют, это не означает нестабильность приложения. Microsoft говорит, что эти приложения могут работать «как есть» (то есть без изменений реестра), но из-за контейнера эти вызовы никогда не коснутся операционной системы. Перевод: не должно быть никакого сбоя приложения из-за ограничений, наложенных контейнером Win32.
Windows 10 версии 2004 почти готова к выпуску и доступна для тестеров в WSUS
Программное обеспечение
Главное детище Microsoft, ориентированное на разработчиков приложений для всевозможных платформ – Visual Studio. Скачать его можно также с официального сайта, выбрав подходящую версию. Как с ним работать, какие в вашем распоряжении могут быть инструменты, а главное куда надо нажимать, вы узнаете из руководства. Обязательным для скачивания будет и пакет SDK. На этой же странице вы найдёте всю интересующую информацию по работе с ним.
Есть и альтернативный вариант создания приложения для Windows 10 для тех, кому окунаться в мир Visual Studio немного рано. Знакомьтесь, Windows App Studio. Фактически, это конструктор приложения с набором шаблонов, который поможет быстро визуализировать вашу идею.
Контейнеры оптимизируют время работы от батарей и представление
Приложения UWP по-прежнему являются наиболее оптимизированной платформой приложений для Windows 10X. это не должно быть откровением, поскольку они изначально были разработаны с учетом Windows Phone (Windows Mobile) и построены для мобильности. Приложения UWP обеспечивают максимальную безопасность, заряд батареи, производительность и уважение событий приостановки и возобновления на уровне ОС.
Приложения Win32 были созданы в основном для работы на настольных компьютерах. Им не хватает мобильной оптимизации UWP. В результате, хотя они, как правило, более мощные, чем UWP, они, как правило, хуже для времени автономной работы и скорости. Но Win32 «классические» приложения по-прежнему очень ценны даже в 2020 году для современного опыта мобильных вычислений.
Корпорация Майкрософт «исправляет» эту проблему с приложениями Win32 (и MSIX) через контейнер Win32. Вот как это делается:
Контейнеры Win32 + MSIX уменьшают ресурсы, когда никакие окна не видны.
Приложения полностью приостанавливаются, когда нет открытых окон.
Приложения Win32 и MSIX, когда они свернуты (и закрыты), полностью отключены от работы в фоновом режиме. В результате, это сохраняет системные ресурсы и батарею. И наоборот, когда приложение Win32 активно используется, оно получает больше ресурсов для обеспечения производительности.
Однако у этого изменения поведения есть два следствия. Например, «классические» приложения Win32, скорее всего, не смогут запускать фоновые задачи – по крайней мере, не очень долго – до приостановки контейнера. Другой Win32 apps не может автоматически запуститься с Windows 10X, что последнее в основном связано с тем, что в Windows 10X нет системного трея, поэтому «классические» приложения не могут постоянно работать в фоновом режиме.
Интересно, что Microsoft может позволить пользователям управлять этим поведением, чтобы контейнер Win32 (и приложения Win32) могли работать в фоновом режиме. На данный момент это еще не решено.
Наконец, из-за конструкции контейнеров Win32 и MSIX, антивирусные системы также либо не нужны, либо будут иметь резко сниженные накладные расходы, что, опять же, приводит к повышению производительности системы и времени автономной работы.
Обновленная концепция Windows 10 с внешним видом Windows 10X
Разработка приложения
В руководстве по разработке приложений UWP вы без проблем отыщите информацию о том, как задействовать в вашем приложении встроенные функции Windows и непосредственно используемое «железо», как отладить и протестировать ваше детище. Инструкции подробные и иллюстрированные, поэтому разобраться в них не составит труда, даже если у вас совсем отсутствует опыт разработки приложений.
Два исследователя файлов (вид)
Слева-это современный интерфейс проводника файлов; справа — «классический» средство выбора файлов Win32.
Отражая двойственную природу Windows 10X experience, где UWP и Win32 приложения живут бок о бок, является использование двух файловых исследователей, в том числе Файл Сохранить как опыт.
Этот факт звучит странно, но это не так. Приложения Win32 все еще могут использовать «классический» проводник файлов и диалоговое окно для выбора файлов в масштабах всей системы, включая доступ к системным папкам. Эта функция имеет жизненно важное значение, поскольку приложения Win32 ожидают, что диалоговое окно будет существовать, чтобы выбрать и сохранить файлы, необходимые для программы.
Однако при использовании диалогового окна файла в приложении UWP или Windows 10X («хост-операционная система») открывается» современный » проводник файлов, который ограничен необходимыми библиотеками, такими как видео, музыка, избранное, Документы, Изображения и многое другое.
Для пользователя это означает, что он получает доступ на базовом уровне к основным библиотекам, но не к файловой структуре уровня операционной системы, как в настольной ОС (Windows 10). Но эти приложения Win32 по-прежнему работают так, как они должны без каких-либо изменений кода.
Обновление Windows 10 версии 1909
Публикация
Финальным этапом разработки является публикация приложения в магазине. Для этого сначала придётся завести учётную запись разработчика (хотя завести её вы должны были ещё на стадии скачивания ПО), затем выбрать имя, установить роли и разрешения, задать цену, возможности скачивания, категорию, создать описание, после чего непосредственно загрузить ваши коды в магазин. Чуть более подробно о всей процедуре можно прочитать в соответствующем разделе.
Здесь же вы найдёте информацию относительно того, как повысить популярность и производительность приложения, как выводить деньги, какие условия сотрудничества с Microsoft и так далее.
Литература
В конце перечислим несколько популярных книг и ресурсов, которые помогут создать идеальное приложение для Windows:
Windows 10 Development for Absolute Beginners – как понятно из названия, эта книга посвящена желающим создать своё первое приложение именно на Windows 10;
Building Windows 10 Applications with XAML and C# Unleashed (2nd Edition), Adam Nathan – и вновь название книги красноречиво отражает её содержание;
Real World Windows 10 Development, Edward Moemeka, Elizabeth Moemeka – полноценный гид по разработке приложения для Windows 10, начинающийся с обзора самой ОС, её преимуществ и недостатков, и завершающийся верификацией и выгрузкой созданного вами объекта;
Location Intelligence for Windows Store apps, Ricky Brundritt – подробное руководство по разработке приложений для Windows. Посвящена 8 части ОС, поэтому периодически необходимо сверяться с официальной документацией, что ничуть не снижает ценности данной литературы;
Windows Store Apps Succinctly – в книге довольно обще описается жизненный цикл Windows-приложения и куда подробнее – сторонних функций и инструментов;
Форум разработчиков Windows – задать вопросы и обсудить насущные проблемы разработки;
A Developer’s Guide to Windows 10 – часовой видеоурок, который поможет разобраться во всех тонкостях;
» contentScore=»9980″>
О приложениях UWP для разработчиков WPF
Хотел бы закодировать разработчиков WPF от боязни чего-то нового, рассказав про отличия, которые ожидают их при разработке приложений под универсальную платформу Windows. Так что ставьте банки перед монитором, я начинаю давать установку.
Какие-то изменения в языках программирования и платформах происходят постоянно. Представьте себе на минуту, что выйдет C# версии 10 и все. Это последняя версия. Представили? Я представил. И в моем представлении если это и случится когда-нибудь, то эта последняя версия языка будет регулярно обновляться.
Были «чудесные» времена, когда у меня немного разбегались глаза от различий в коде (даже в коде XAML): WPF, Silverlight, Windows Phone, потом WinRT, а теперь еще и UWP. Сколько разработчиков никогда не путаются? Я думаю, что большинство разработчиков не держат все в памяти. Достаточно держать в памяти основные концепты работы. Когда дело касается кодирования, то используются вспомогательные инструменты вроде IntelliSense, Blend и т.п. Никуда не уйти и от использования сниппетов. По каким причинам происходят изменения:
1. Где-то сидит вредный дядя, который ждет момента, когда все привыкнут к платформе/среде разработки. И тогда он что-то меняет. 2. Усовершенствования/новый функционал. 3. Отзывы пользователей или разработчиков (не понравилось и все тут). Исправление ошибок. 4. Аппаратная часть совершенствуется. Акцент на энергосбережение, на производительность или же на красивые эффекты. 5. Что-то глобальное. Например, последнее объединение платформ в UWP или что-то вроде «Мы хотим чтобы на C# писали под все платформы сразу, минуя Xamarin, поэтому добавили вам новые аналогичные другим платформам контролы». Кто знает, может через несколько лет будет и такое. 6. Ваш вариант напишите в комментариях.
Для чего разработчикам нужно знание UWP? Да, хотя бы из-за того, что в .Net приложениях можно будет в скором времени использовать API и сервисы UWP. Все это может в скором времени стать возможным с помощью Project Cenntenial.
Так что вполне можно начать знакомиться с новой платформой. Давайте я сделаю небольшой экскурс, описав некоторые отличия.
Начну с того, что приложения UWP обладают кое-чем, чего нет у классических приложений Windows – у них есть App Model. Что такое App Model? Это своеобразный регламент. Описание всех возможностей приложения — его прав доступа, способа установки, обновления, хранения информации и т.п.
У приложений Windows Store, точно так же как и у приложений UWP есть файл манифеста, в котором описаны все возможности и права приложения. Это файл Package.appxmanifest. Его можно редактировать как в графическом редакторе, так и в виде кода XML. Скриншот графического редактора смотрите ниже.
Элементы управления
Если вы помните, то совсем недавно у Windows 8 и 8.1 была Charm panel – волшебная панелька:
Сейчас же вместо нее используются более привычные для WPF разработчиков контролы:
Здесь новым контролом является ContentDialog, который блокирует приложение, примерно так же, как блокирует его MessageBox. Кроме того в UWP более привычная для разработчиков WP навигация:
Что может показаться интересным, так это то, что некоторые элементы управления могут иметь различный внешний вид при отображении на различных устройствах. Простыми словами, контрол может выглядеть немного иначе, например, при отображении на десктопе и на мобильном устройстве.
В целом, я так полагаю, среднестатистический разработчик уже давно привык большому разнообразию контролов. Освоение новых трудностей вызвать не должно.
Разработка под различные устройства
Постараюсь разобрать то, что для WPF разработчика будет необычным. Например, это то, что при разработке приложений Windows 8.1 можно было в одном решении разрабатывать одновременно и под телефон и под десктоп.
В таком случае создавалось 3 проекта. В приложениях WP и WinRT хранился xaml код «вьюшек» и какой-то особый код под устройства, а в общем проекте хранился общий код xaml и общий для двух проектов код C#.
Сейчас же, так как платформа UWP универсальная, то для каждого типа устройств можно создать папку, в которую можно поместить «вьюшку» — т.е. xaml файл с дизайном под параметры устройства.
Подробнее здесь: 3 способа задать разметку для различных устройств в C#/XAML приложениях Windows UWP
Жизненный цикл
Есть старая шутку про формулу-1: «У Ральфа Шумахера два положения педали – включено и выключено. Остальными положениями можно пренебречь».
Этой шуткой я могу немного подколоть классические приложения .Net. Они либо работают, либо не работают. В приложениях Store все немного иначе. У них кроме состояний «Включено/выключено» есть еще и промежуточное состояние «Приостановлено». Жизненный цикл приложений 8.x и UWP отображен на следующей картинке:
Подробнее здесь: Application Lifecycle в приложениях Windows 8.1 и UWP
Триггеры и фоновые задания
Приложения .Net могут быть либо исполняемыми файлами либо могут быть службами/сервисами. Это совершенно разные виды приложений. То есть не может быть такого, что приложение exe, но при этом оно работает в фоне. Нет, конечно же, приложение может работать в трее. Но фактически получается, что оно запущено и просто свернуто.
Что касается приложений 8.x и UWP, то они могут содержать в себе фоновые задания. Фоновые задания это некоторое подобие сервиса. То есть приложение может не работать, но в системе будет выполняться какая-то задача. Кроме того фоновая задача может «отлавливать» какие-то события в работе системы триггером.
Один из самых популярных триггеров это SystemTrigger
. С помощью него приложение может выполнить какой-либо код при наступлении таких событий как: появление или пропажа интернета, изменение состояния сети, подключение или отключение пользователя, получение смс, изменение часовой зоны и т.п.
Также довольно популярны TimeTrigger
и
MaintenanceTrigger
. Оба триггера выполняют какой-либо код с периодичностью в определенный промежуток времени. Промежуток времени должен быть не менее 15 минут. Отличие в то, что TimeTrigger требует регистрации приложения на экране блокировки, а MaintenanceTrigger-у требуется чтобы устройство работало не от батареи, а от сети.
В UWP появилось много новых триггеров. Взять, например такой вот интересный триггер как MediaProcessingTrigger
, который позволяет приложению перекодировать мультимедиа в рамках фоновой задачи.
Использование библиотек
Если в классических приложениях вы использовали библиотеки DLL, то в приложениях 8.x и UWP вы сможете использовать как PCL, так и компонент среды выполнения WinMD. В чем отличие?
PCL (portable class library) может быть добавлена приложениям под различные платформы. И под .Net Framework различных версий, и под Windows 8.x и под WP, под UWP и даже под iOS/Android приложения Xamarin. То есть в эту библиотеку можно запихнуть какой-то общий платформонезависимый код.
WinMD может быть использован только под 8.x или UWP. Вне зависимости от языка, на котором написаны приложения, они могут работать с WinMD. Но сам WinMD в случае если он содержит в себе сложные вычисления лучше писать на C++ для достижения наилучшей производительности.
Впрочем, при разработке под UWP вы можете создать и библиотеку классов (DLL).
Работа с данными
В чем еще заключается отличие приложений UWP, так это в том, что они не работают с базами данных напрямую. То есть такие базы данных, как, скажем SQL Server или Oracle, расположенные на сервере организации, будут вам недоступны. Впрочем, это было бы странно, если бы пользователь скачивал из Store приложение, и приложение начинало бы работать с базой SQL Server-а, расположенной на сервере в локальной сети. Но вы сможете работать с данными, используя веб-сервисы. Есть возможность использовать для баз MySQL оракловский Connector/Net, но он на данный момент не поддерживает SSL и потому не особо интересен. Так что лучше не отклоняться от концепта использования сервисов для доступа к данным.
Для хранения информации внутри приложения вы можете использовать SQLite.
Хранения параметров приложения и работа с файлами
Хранение параметров приложения возможно не только на устройстве, но и в облаке. Таким образом, если запускать приложение на различных устройствах, то настройки везде будут одинаковыми.
Следующий небольшой сниппет сохраняет количество вызова кода в облаке:
int timescount = 0; Object roamS = Windows.Storage.ApplicationData.Current.RoamingSettings.Values[«times»]; if (roamS != NULL) timescount = (int)roamS; timescount++; Windows.Storage.ApplicationData.Current.RoamingSettings.Values[«times»] = timescount; Если заменить Windows.Storage.ApplicationData.Current.RoamingSettings на Windows.Storage.ApplicationData.Current.LocalSettings, то параметр будет сохранен локально на устройстве.
Настройки могут быть скомпонованы как в составные параметры, так и в контейнеры. Файлы точно так же как и настройки можно хранить как на устройстве в локальной папке, так и в облаке. Но кроме этого есть возможность хранить файлы во временной папке, которая при необходимости может быть очищена системой — ApplicationData.TemporaryFolder.
Кроме того можно получить доступ к папке, которая содержится в приложении с помощью Windows.ApplicationModel.Package.Current.InstalledLocation
Доступ к файлам, хранящимся на дисках, тоже организован по особой модели. Содержимое папок документов, фотографий, видео и подобных может быть получено с помощью класса KnownFolders, но в таком случае необходима установка разрешений в манифесте. Доступ к какой-либо другой папке возможен только в случае, если пользователь выберет папку сам в процессе работы с приложением. Посещенные папки можно сохранять, дабы при повторном запуске приложения не заставлять пользователя делать лишние действия
var folderPicker = new Windows.Storage.Pickers.FolderPicker(); folderPicker.FileTypeFilter.Add(«.jpg»); folderPicker.FileTypeFilter.Add(«.jpeg»); folderPicker.FileTypeFilter.Add(«.png»); folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary; folderPicker.SettingsIdentifier = «picker2»; Windows.Storage.StorageFolder lastFolder = await folderPicker.PickSingleFolderAsync(); if (lastFolder == NULL) return; String mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(lastFolder); Получить после этого последнюю сохраненную папку можно так: String mruFirstToken = StorageApplicationPermissions.MostRecentlyUsedList.Entries.FirstOrDefault().Token; lastFolder = await StorageApplicationPermissions.MostRecentlyUsedList.GetFolderAsync(mruFirstToken);
Привязки данных
Как в приложениях WPF, так и в приложениях UWP, а также при разработке под 8.x можно использовать привязки данных – {binding}. Но в UWP появились еще и компилируемые привязки – {x:bind} В чем отличие? Компилируемые работаю гораздо быстрее, а формируются/проверяются они во время компиляции а не во время запуска приложения. Также они строго типизированные.
Подробнее здесь: Компилируемые привязки данных в приложениях Windows 10
Эффективные пиксели
Создавая приложение UWP, вы ведете разработку в эффективных пикселях, а не физических. Особый алгоритм масштабирования позволяет добиться того, что шрифт размера в 24 пикселя будет одинаково читаемым и на большом экране PC и на экране телефона.
Таким образом, получается, что разработчик может не заботится о плотности пикселей на различных устройствах или дистанции просмотра. Но он должен позаботиться о том, чтобы на устройствах с высоким разрешением изображения смотрелись качественно. Давайте рассмотрим папку Assets стандартного только что созданного универсального приложения:
Вы можете заметить, что у некоторых изображений имеется постфикс .scale-200. Это значит, что установлен размер масштабирования 200. Для примера возьмем файл Square44x44Logo.scale-200.png – его физический размер 88×88 пикселей. То есть масштаб 200%. Все доступные варианты это – 100, 125, 150, 200, 250, 300, 400.
Пример: если вы заходите создать вариант изображения для устройств с коэффициентом масштабирования 150, то вам нужно создать изображение размера 66×66 и назвать его Square44x44Logo.scale-150.png.
Это касается не только изображений, используемых в описании приложения, но и изображений, которые вы используете в UI.
Заключение
На самом деле все новые фичи UWP перечислять довольно долго (можно упомянуть о Adaptive triggers, Splitview, Ink, Map и т.п.). Надеюсь, что смог в короткой статье рассказать как о ключевых отличиях, так и о некоторых сходствах с WPF.
Предисловие
Телефоны на Windows 10 Mobile появились с существенной задержкой относительно Android и iOS, пообещав за потерянное время лучшие возможности. Обещание оказалось пустым, а ведь это был ключевой момент в развитии Windows, как универсальной системы для всех устройств. Более того, приложения в Windows 10 остаются настолько инородными, что даже спустя столько лет существования Microsoft Store остаётся в разы беднее App Store и Google Play.
Тем не менее, говорить о том, что умение разрабатывать приложения для Windows 10 бесполезно – преждевременно. Во-первых, у Microsoft есть желание в 2017-2018 году запустить серию мобильных телефонов под линейкой Surface, рассчитанную на бизнес-аудиторию, то есть занять нишу, освобождённую после ухода с рынка BlackBerry.
Во-вторых, даже с учётом неизменного падения рынка смартфонов на WM, на компьютерах Windows по-прежнему доминирует, да и HoloLens обещает подогреть интерес. В-третьих, полупустой, но всё же общий магазин приложений предполагает куда большие возможности по привлечению аудитории.
В общем, пускай разработчики приложений для Android и iOS будут сегодня чуть больше востребованы, зато у их коллег, работающих на благо Windows, есть возможность стать настоящим мессией, которая спасёт всю платформу. И вот краткий путеводитель по тому, что как минимум для этого надо изучить.
Три контейнера, но один опыт
Подумайте о контейнерах как о бункерных коробках, которые абстрагируются от операционной системы, позволяя более точно контролировать их поведение.
Для Windows 10X все приложения работают в контейнерах, но нет никакой конфигурации или каких-либо изменений высокого уровня, необходимых разработчикам для их использования; они являются просто частью архитектуры ОС.
В частности, существует три типа контейнеров, один из которых является новым (Win32)
Win32 Container: запускает «классические» x86 32 и 64-разрядные Win32 приложения, WinForms, WPF, Electron и др. и является аналогичной средой для настольной ОС. Существует только один контейнер для всех приложений Win32 и является «высоко совместимым» со всем существующим программным обеспечением.
Контейнер MSIX с полным доверием: высокая совместимость с существующими приложениями. Они работают в изоляции от других приложений Win32, а также запускаются в качестве контейнера в контейнере Win32 на Windows 10X.
Все приложения UWP : самая низкая нагрузка на систему, лучшая производительность и время автономной работы, а также Лучшие средства управления безопасностью и конфиденциальностью всех систем.
Для потребителей нет ничего, чтобы знать об этом опыте. Большинство приложений Win32 и все приложения UWP должны работать как есть в Windows 10X. вы щелкаете приложение, оно открывается и запускается.
Это также не имеет значения, откуда вы устанавливаете его, будь то магазин Майкрософт, интернет или USB-накопитель.
Будет ли разработчики продолжать использовать Win32 «классические» настольные приложения, прогрессивные веб-приложения (PWA) или UWP, зависит от них. По очевидным причинам, UWP является наиболее оптимизированным для Windows 10X, но Microsoft пошла на многое, чтобы гарантировать, что эти классические настольные приложения работают просто отлично тоже.
Windows 10 обновление 2020 — обзор официальной демо версии 2004
Знакомство
Первым делом поближе познакомьтесь со универсальной платформой для приложений, которая с этого места будет носить своё официальное название – Universal Windows Platform или просто UWP. Появилась она ещё во времена Windows 8, а сегодня обросла всеми необходимыми удобствами. Концепция хоть и носит лозунг «одно приложение для всех устройств», но для хорошего приложения ориентироваться на отдельный тип всё-таки придётся. В общем, все возможности и ограничения UWP вы узнаете если прочитаете официальный релиз от Microsoft:
Введение в работу с универсальной платформой Windows
Язык
В информационном листе Microsoft вы можете найти следующую фразу: «Вы можете создавать приложения UWP на тех языках программирования, с которыми вы знакомы лучше всего…». Фактически, это не совсем так. Вам на выбор предлагаются 4 из них: , Visual Basic, C++ и JavaScript. Безусловно, это лучше, чем строгое ограничение, но универсальностью это назвать затруднительно.
Кстати, справочники по всем четырём языкам можно найти непосредственно на сайте Microsoft или просто нажав на предоставленные ссылки. Также на нашем сайте вы можете пройти бесплатный интенсив по основам языка C#.
Программное обеспечение
Главное детище Microsoft, ориентированное на разработчиков приложений для всевозможных платформ – Visual Studio. Скачать его можно также с официального сайта, выбрав подходящую версию. Как с ним работать, какие в вашем распоряжении могут быть инструменты, а главное куда надо нажимать, вы узнаете из руководства. Обязательным для скачивания будет и пакет SDK. На этой же странице вы найдёте всю интересующую информацию по работе с ним.
Есть и альтернативный вариант создания приложения для Windows 10 для тех, кому окунаться в мир Visual Studio немного рано. Знакомьтесь, Windows App Studio. Фактически, это конструктор приложения с набором шаблонов, который поможет быстро визуализировать вашу идею.
Разработка приложения
В руководстве по разработке приложений UWP вы без проблем отыщите информацию о том, как задействовать в вашем приложении встроенные функции Windows и непосредственно используемое «железо», как отладить и протестировать ваше детище. Инструкции подробные и иллюстрированные, поэтому разобраться в них не составит труда, даже если у вас совсем отсутствует опыт разработки приложений.
Публикация
Финальным этапом разработки является публикация приложения в магазине. Для этого сначала придётся завести учётную запись разработчика (хотя завести её вы должны были ещё на стадии скачивания ПО), затем выбрать имя, установить роли и разрешения, задать цену, возможности скачивания, категорию, создать описание, после чего непосредственно загрузить ваши коды в магазин. Чуть более подробно о всей процедуре можно прочитать в соответствующем разделе.
Здесь же вы найдёте информацию относительно того, как повысить популярность и производительность приложения, как выводить деньги, какие условия сотрудничества с Microsoft и так далее.