Posted on 26. April 2018

Windows Template Studio 2.0

Windows Template Studio обновлен к новой версии 2.0. Команда Microsoft с нетерпением ждет, когда Вы начнете создавать замечательные приложения, используя новую версию. Template Studio - это проект с открытым исходным кодом, главная цель которого - ускорить создание приложений с использованием передовых методов и надежной исходной базой кода.

Microsoft благодарны всем за участие в проекте, основанном на сообществах, огромным вкладам / партнерским отношениям, которые были осуществлены в течение прошедшего года с начала выпуска проекта.

Как получить обновление?

Есть две возможности обновления к новейшей сборке.

Уже установлено: Visual Studio автоматически обновляет расширение. Для принудительного обновления, откройте «Инструменты» -> «Расширения и обновления». Затем перейдите на вкладку слева «Обновление расширителя», и Вы увидите Windows Template Studio, после чего нажмите «Обновить».

Не установлено: Перейдите на https://aka.ms/wtsinstall, нажмите «загрузить» и дважды щелкните по VSIX установщику.

Что нового?

Microsoft много работали над улучшением пользовательского интерфейса и уверены, что теперь проект доступен для всех разработчиков.  Благодаря партнерству с командой Visual Studio был значительно улучшен интерфейс, что сделало его еще быстрее и доступнее. Также был улучшен процесс обновления шаблонов, фактические шаблоны и многое другое. Теперь Wizard может распознавать темные, светлые и высококонтрастные режимы Visual Studio.

К тому же, после того, как будет выпущено следующее Windows 10 обновление, будет добавлен навигационный контроль (NavigationView) для платформы UWP Community Toolkit с потрясающим гамбургер меню контролем, который обеспечит удобный переход между классической и контрольной платформами. На данный момент Microsoft работает над документацией, чтобы упростить переход между существующим контролем и новой платформой.

Документация 

Microsoft активно улучшает документацию. В будущем большинство документаций будут перенесены на docs.microsoft.com, которые охватят шаблоны и будут использовать актуальный wizard. Документация, которая останется на WTS GitHub, будет относиться к документации по модификации движка или созданию шаблонов для использования wizard. 

Будущее развитие, обновление и взаимодействие с сообществом

Двигаясь вперед, Microsoft продолжит улучшать и добавлять новые функции и шаблоны.
Большинство самых значимых пожеланий, замечаний об ошибках и лучших идей было предоставлено вами, участниками сообщества. Команда WTS чрезвычайно рада тому, что была частью этого проекта и благодарна всем, кто подал заявку и проявил участие. Если у Вас есть ошибки или идеи по добавлению новых функций, пожалуйста, отправьте Ваш запрос на GitHub --> https://aka.ms/wts 

Анонс в блоге команды Майкрософт


Posted on 29. March 2018

Private audience - Новый способ тестирования

Private audience - Новый способ тестирования приложений и игр перед выпуском

Согласно отзывам сообщества Windows разработчиков, одной из основных тем обсуждения для Команды Dev Center является вопрос, насколько важны первые впечатления. Перед запуском нового приложения или игры необходимо проверить, что функционал работает отлично и готов к выпуску. В то же время у большинства разработчиков могут возникать трудности при раскрытии информации и они хотят контролировать время аннонсов для своих новых продуктов. Команда Microsoft получила множество отзывов о том, что тестирование работы до запуска имеет решающее значение для завоевания доверия к качеству продукта. Также Microsoft получили запросы по добавлению возможности выполнения предварительного тестирования продукта, скрытого от всех, кроме предполагаемой аудитории.

Microsoft приняли во внимание эти пожелания и добавили возможность тестирования для частной аудитории в Dev Center. Эта возможность позволяет публиковать приложение или игру, которые будут видны только указанным лицам. Никто другой не сможет увидеть данный продукт в Microsoft Store, даже при переходе на страницу продукта по прямой ссылке. Это позволит, выбранной Вами аудитории, проверять работу продукта, при этом, сохраняя его скрытым от всех остальных, пока Вы не будете готовы открыть его в Microsoft Store.

Как это работает?

Раздел «Частная аудитория» использует известные группы пользователей (например, с одинаковым типом, таким как пробная сертификация пакетов), состав частной аудитории регулируется непосредственно в Dev Center, не требуя повторной сертификации продукта каждый раз, когда Вы добавляете или удаляете кого-либо из группы. Только выбранный Вами круг лиц, который аутентифицирован под своей учетной записью Microsoft, сможет увидеть приложение в Microsoft Store. Кроме того, любые отзывы, оставленные кем-либо из частной группы, будут видны в Dev Center, но не будут отображаться на странице продукта в Microsoft Store.

Как использовать?

При заполнение продукта для дальнейшей публикации, Вы можете регулировать его доступность для частной аудитории на странице «Видимость» в разделе «Цены и доступность». Дополнительные участники могут быть добавлены в частные группы в любое время, не требуя повторной сертификации продукта после обновления внесенных изменений.

Private Audience

После публикации для частной аудитории, Вы в любой момент можете сделать Ваше приложение или игру общедоступными. Если Вы хотите, чтобы приложение или игра открылась в Microsoft Store в определенное время, без отправки повторной сертификации, Вы можете указать дату и время для автоматического обновления. Вы также можете изменить настройки доступности в ручную и повторно сертифицировать Ваш продукт. Обратите внимание, что возможность создания частной аудитории доступна только для новых продуктов - как только продукт становится общедоступным, Вы не сможете переключить его на частную аудиторию.

Другие советы по тестированию приложений

Поскольку опция частной аудитории охватывает только тех, кто может видеть и устанавливать продукт в Microsoft Store, Вы можете использовать ее в сочетании с другими функциями, например, расширить круг частной аудитории и убедиться в том, что Ваши пользователи будут получать только качественный опыт использования. Например, пока Ваше приложение доступно только частной аудитории, Вы можете добавлять пробные сертификации пакетов, чтобы предоставлять новые сборки подмножеству этой аудитории, и использовать постепенное развертывание новых сборок для каждой пробной сертификации или для всех, кто в настоящее время использует Ваше приложение. Когда Вы будете готовы сделать продукт общедоступным, инвестиции, которые Вы вложили в проверку качества сборки на частной аудитории, будут автоматически доступны для всех.

Если конфиденциальность вызывает беспокойство, обратите внимание, что, несмотря на круг ограничения видимости приложения для указанной Вами аудитории, Вам нужно сообщить участникам о неразглашении информации о приложении, а также распротранении или совместном использовании скриншотов или упоминаний в социальных сетях. Также убедитесь, что Ваши службы, включая Xbox Live, не рекламируют существование приложения. И хотя отзывы о продукте в Microsoft Store, показаны только в разделе «Отзывы» в Dev Center, отзывы, отправленные с помощью Feedback Hub, будут видны всем, поэтому убедитесь, что Ваша частная аудитория отправляет обратную связь любым другим способом.

Вы можете узнать больше о возможностях новой функции в этой документации. Когда Вы попробуете это нововведение, пожалуйста, оставьте Ваш отзыв, используя обратную связь в Dev Center (с помощью значка в верхней части каждой страницы). Команда Microsoft также просит сообщить, какие функции Вы бы хотели увидеть в будущих обновлениях, оставьте Ваш отзыв используя Windows UserVoice для Dev Center. Ваши отзывы очень важны для будущего развития!


Posted on 8. March 2018

AI платформа для Windows разработчиков

AI платформа для Windows разработчиков

Компания Microsoft делает огромные инвестиции в AI и Machine Learning. Возможности AI в Office 365 помогают подписчикам с высокой продуктивностью работы; удобные функции приложения Photos для Windows 10 значительно упрощают создание видеороликов и поиск по обширным фото коллекциям, а функция Windows Hello использует AI для распознавания лиц и быстрого входа в систему Ваших Windows устройств. Microsoft также использует AI для ответа на Ваши вопросы об использовании Bing Search и Cortana, чтобы позволить рекламодателям закрепить более прочные связи с клиентами и помогать специалистам по безопасности защищать бизнес от современных угроз. Microsoft Research продолжает работу над современной возможностью распознавания речи, аппаратурой для автоматического считывания и распознавания речи, и машинного зрения. Microsoft уже масштабировали AI до меньших устройств и даже создали AI, с которым можно рисовать!

«Технология Intel Movidius VPU предоставит более утонченный AI для сотен миллионов пользователей Microsoft по всему миру», - сообщает Реми Эль-Уазане - вице-президент Intel и генеральный директор Movidius.

Начиная со следующего крупного Windows 10 обновления, команда Microsoft будет улучшать преимущества, которые были добавлены в их приложения и сервисы как составные части Windows 10 платформы. Каждый разработчик, который собирает Windows 10 приложения, сможет использовать AI для внедрения более мощных и интересных опций.

«Ускорение AI на Windows 10 ПК является новейшим доказательством того, как искусственный интеллект становится повсеместным в нашей повседневной жизни», - сказал Ян Бак, вице-президент и генеральный менеджер Accelerated Computing в NVIDIA. «NVIDIA рада сотрудничать с Microsoft, чтобы улучшить работу на ПК для пользователей по всему миру». 

Платформа AI для Windows 10 позволяет разработчикам использовать предварительно подготовленные модели машинного обучения в своих приложениях на Windows устройствах. Это выдвигает целый ряд преимуществ:

  • Низкая латентность, результаты в режиме реального времени. Windows может выполнять задачи по оценке AI, используя локальные возможности обработки ПК, что позволяет анализировать многочисленные локальные данные, такие как изображения и видео, в режиме реального времени. Результаты могут быть доставлены быстро и эффективно в целях выполнения интенсивных объемов работы, таких как игровые движки, или фоновые задачи, такие как индексирование для поиска.
  • Снижение оперативных расходов. Используя Microsoft Cloud AI платформу, разработчики могут создавать доступные по цене комплексные AI решения, сочетающие учебные модели в Azure с возможностью развертывания для оценки на Windows устройствах. Значительная экономия может быть достигнута за счет сокращения или устранения затрат, связанных с пропускной способностью, из-за приема маштабных наборов данных, таких как снимки камеры или телеметрии датчиков. Сложные рабочие нагрузки могут обрабатываться в режиме реального времени, при этом данные минимальной выборки будут отправленны в облако для улучшения обучения по вопросам наблюдения.
  • Гибкость. Разработчики могут выбирать между выполнением AI задач на устройстве или на облаке на основе потребностей своих клиентов и сценариев. AI обработка может проводится на отключенных от сети устройствах, или в сценариях, где данные не смогут отправиться в облако из-за расходов, размера, политики или предпочтений клиентов.

«Мы рады сотрудничать с Microsoft на платформе Windows ML и помогать разработчикам ускорить AI работу на Windows ноутбуках с помощью процессора Snapdragon 835 AI Engine». Гэри Бротман, директор по управлению производством - AI и Machine Learning, Qualcomm Technologies, Inc.

Оценка от Microsoft для модели ML настроена на эффективность в различных кремниях, работающих под управлением Windows. Используя оптимизацию наборов инструкций на современных процессорах, аппаратное ускорение на графических процессорах, поддерживающих DirectX 12, и модель драйвера для целевых AI процессоров в будущем, Microsoft обеспечивает производительность и эффективность в широком диапазоне форм-факторов. Начиная с этого обновления, разработчики могут использовать AI платформу в семействе Windows устройств, в том числе и периферийные IoT устройства, HoloLens, 2-в-1 и настольные ПК, рабочие станции, серверы и центры обработки данных.

«Мы рады сотрудничать с Microsoft в Windows ML и использовать высокопроизводительные возможности AMD процессоров и графических процессоров для ускорения AI на Windows 10 ПК». - Андре Здравкович, CVP Software, AMD.

Windows поддерживает ONNX, промышленный стандартный формат для ML моделей, который находится под управлением Microsoft, Facebook и Amazon Web Services и поддерживается на Windows IHV, а также NVIDIA, Intel, Qualcomm и AMD. Специалисты по обработке данных могут обучать и поставлять ONNX модели для Windows разработчиков, которые используют Azure Machine Learning Workbench, и в ближайшее время, Azure Custom Vision Service также будет поддерживать создание ONNX моделей для Windows.

Microsoft также инвестировали средства в создание отличного опыта разработки для AI разработчиков на Windows платформе. Начиная с обновления Visual Studio Preview 15.7, добавление ONNX файла в UWP проект будет автоматически создавать модельные интерфейсы в Вашем проекте. В предыдущих версиях Visual Studio разработчики могут использовать инструмент MLGen для создания интерфейса кода, а затем вручную добавлять его в свои проекты. Эта возможность также будет скоро добавлена для инструментов Visual Studio для AI.

И это только начало! С каждым выпуском, Вы будете получать еще больше продуктивности на Windows устройствах. Разработчики смогут собирать приложения на базе AI, что поможет Вам вдохновлять и обмениваться информацией в 3d, легче отслеживать задачи и загруженность, и даже слушать музыку из плейлистов, сделанных специально для Вас.

Вы можете узнать больше об AI новшествах в //build 2018.


Posted on 1. March 2018

UWP Community Toolkit, версия 2.2

Microsoft рады объявить о новом обновлении UWP Community Toolkit, версии 2.2. Преимущества этого выпуска, как всегда, распространяются на сообщество, которое продолжает поддерживать и совершенствовать набор инструментов в каждой новой версии. Версия 2.2 содержит новый Parsers пакет, новые элементы управления и вспомогательные инструменты, а также множество улучшений и исправлений ошибок для уже существующих API. 

Ниже приведен краткий список основных нововведений этого выпуска. Также стоит изучить подробную информацию о выпуске и ознакомиться с полным списком функций в новой 2.2 версии.

Microsoft.Toolkit.Parsers и MarkdownTextBlock

В UWP Community Toolkit 2.0 было добавлено несколько новых .NET Standard пакетов с обязательной поддержкой большего количества кросс-платформенных API. Основываясь на этом требовании, версия 2.2 представляет новый .NET Standard пакет: Microsoft.Toolkit.Parsers. Этот пакет включает в себя синтаксические анализаторы для снижения цен и RSS, которые могут использоваться на UWP и других платформах, поддерживающих .NET Standard 1.4 или выше.
Кроме того, элемент управления MarkdownTextBlock использует новый рендерер и, в дополнении, поддерживает:
  • Выделение синтаксиса кода
  • SVG-изображения и синтаксис ширины / высоты изображения
  • Взаимосвязанные URI для изображений и ссылок
  • Комментарии и многое другое

Пошаговая панель

Добавлена новая панель, позволяющая поэтапно размещать макеты, где элементы добавляются в столбцы с наименьшим количеством пространства.

Кисти XAML

Версия 2.2 представляет новое пространство имен (Microsoft.Toolkit.Uwp.UI.Media) и добавляет 7 кистей на основе композиции, включая кисть RadialGradientBrush. Кисти заднего плана придают эффект тому, что находится за элементами в приложении.

Поддержка MSAL и кросс-платформенных сервисов Microsoft Graph и OneDrive

Версия .NET Standard была представлена для двух сервисов: Graph и OneDrive, а прежняя служба OneDrive была отмечена, как устаревшая. Версии .NET Standard для каждого сервиса теперь поддерживают Библиотеку Аутентификации Microsoft (MSAL) и потребление исключительно за пределами UWP приложений. Новый сервис можно найти в пакете Microsoft.Toolkit.Services.

Поддержка пакетов уведомлений для My People

С новым обновлением пакет уведомлений теперь включает в себя новые функции всплывающих уведомлений для My People, поэтому разработчики могут легко добавить эту функцию в свои приложения.

Создано сообществом Microsoft

Это обновление было бы невозможно, если бы не Ваша поддержка и участие в сообществе. Если Вы заинтересованы в участии в разработке, но не знаете, с чего начать, ознакомьтесь с разделами «нужна помощь» на GitHub.

Несмотря на то, что большая часть усилий по разработке и использованию UWP Community Toolkit предназначена для настольных приложений, эти инструменты также отлично работают на Xbox One, Mobile, HoloLens, IoT и Surface Hub устройствах. Вы можете начать работу, следуя этим инструкциям, или ознакомиться с последними функциями, установив UWP Community Toolkit Sample App из Microsoft Store. 

Присоединяйте к беседе в Twitter, ставьте хэштэг #uwptoolkit. 

Счастливого кодирования!



Posted on 27. February 2018

Новые направления и обновления в рекламной монетизации

Microsoft объявляет о новой политике в области эксплуатации рекламных блоков, обновлении пользовательского опыта для управления активными / неактивными рекламными блоками, политики в области включения рекламной сети по умолчанию и изменениях методологии показа объявлений в Windows приложениях. Если Вы используете объявления в Вашем Windows приложении с помощью Microsoft Advertising SDK (UWP или 8.x приложений), новая политика монетизации может принести Вам ущерб.

1) Автоматическое включение новых рекламных сетей для ручных рекламных блоков в UWP приложениях

Microsoft продолжает оценивать и внедрять новые рекламные сети для повышения доходности и предлагает более широкий спектр спроса для разработчиков (форматы, конкретные рынки спроса). Когда Microsoft добавили новую рекламную сеть в систему, рекламные UWP блоки, настроенные с параметром «Ручная настройка», не пользуются этими сетями, так как они автоматически не включены для ручных рекламных блоков. В будущем будут добавлены изменения для включения всех рекламных сетей по умолчанию для всех рекламных UWP блоков независимо от ручной или автоматической конфигурации. Для рекламных блоков с ручными настройками эти рекламные сети будут добавлены в конец каскадного заказа, поскольку каскадная конфигурация рекламной сети определяется владельцем приложения. Затем владелец может внести необходимые изменения, чтобы изменить порядок или отказаться от рекламных сетей по мере необходимости. Рекомендация Microsoft состоит в том, чтобы выбирать «Автоматическую» конфигурацию рекламного блока, чтобы максимально использовать возможности увеличения доходности.

2) Обновления политики при прекращении эксплуатации рекламных блоков

Microsoft добавляет политику прекращения эксплуатации рекламных блоков, в которой рекламный блок, который не сгенерировал какой-либо запрос объявления за последние 6 месяцев, будет деактивирован и удален. По текущим прогнозам активные приложения не будут затронуты из-за достаточно длительного периода (6 месяцев) неактивности рекламного блока. Однако есть исключения, при которых Вы можете пострадать. Например, если Вы создали рекламный блок на несколько месяцев раньше времени развертывания приложения и пытаетесь использовать этот рекламный блок, как будто Ваше приложение уже работает в реальном времени. Или Вы пытаетесь повторно использовать существующий рекламный блок из своего предыдущего неактивного приложения в новом приложении. Рекомендация в обоих случаях заключается в использовании вновь созданных рекламных блоков, вместо повторного использования уже существующих, в целях избежания потенциальной потери дохода от рекламы.

Наряду с этим объявлением политики, Microsoft вносит изменения в панель инструментов Windows Dev Center, чтобы упростить просмотр активных и неактивных рекламных блоков. Состояние рекламного блока идентифицируется в отдельном столбце; кроме того, Вы можете выбрать только активные или только неактивные рекламные блоки, поставив соответствующий фильтр в верхней части страницы.

3) Переход на стандартное измерение показа объявлений

Стандартное измерение показа объявлений требует, чтобы «объявление было загруженным и, как минимум, уже начало воспроизводиться», в таком случае оно будет считаться действительным. Для рекламных сетей, которые полагаются на другие методы, такие как подсчет показов на основе сервера, Microsoft вносит изменения в постепенную миграцию всех рекламных блоков для Windows приложений ближе к стандартным измерениям. Более конкретно, подсчет показов будет опираться на такие методы, как запуск маяка показа рекламной сети, после показа объявления пользователю. Это делается для того, чтобы лучше придерживаться IAB стандартов при подсчете показа объявлений и быть справедливыми по отношению к рекламодателям. Это также принесет пользу приложениям, которые стремятся сделать все правильно, убедившись, что объявления отображаются пользователям и доступны для просмотра.

Если Вы следуете рекомендациям, изложенным в этой документации и рекомендациям предыдущих блог постов о том, как создавать места размещения объявлений в Вашем приложении, Вы не будете ощущать негативного влияния на монетизацию Ваших объявлений. Однако, если Ваше приложение сконструировано таким образом, что это мешает изображению объявления, Вы можете получить негативные воздействия на доходы от Вашего приложения. Например, если Вы размещаете объявление в диалоговом окне пользовательского интерфейса, которое может быть легко закрыто пользователем до момента его отображения, или Ваше приложение показывает объявления в фоновом режиме, эти объявления, показы которых ранее были подсчитаны, не будут подсчитываться при новом стандарте.

Если у Вас есть вопросы или комментарии, пишите по этому адресу aiacare@microsoft.com Спасибо!



Posted on 12. February 2018

Новая Функция: свободная форма оплаты в Dev Center

Новая Функция: свободная форма оплаты в Dev Center

Правильное распределение цен на Ваше приложение или дополнительные покупки - это ключ к успеху в Microsoft Store. Многие компании просили добавить больше возможностей для оценки своих продуктов, и вот команда Dev Center рада сообщить, что на сегодняшний день все разработчики могут использовать функцию свободного ценообразования. С введением этой функции у Вас есть возможность, устанавливать любую цену для Вашего приложения, игры или дополнений, а также Вы можете выбирать необходимую валюту на рынке.

Каждый знает, что число 7 – счастливое число. Привлекайте удачу и меняйте цену Вашей игры в США до 7,77 USD. Хотите добавить специальное дополнение ко дню холостяков в Китае? Вы можете установить китайскую цену для Вашего дополнительного товара в CNY ¥ 11.11.

Возможности ценообразования бесконечны, в пределах такого же допустимого диапазона, как и уровни цен (0,99-1,999,99 USD). Обратите внимание, что цена свободной формы может использоваться только для переопределения базовой цены на одном рынке. (Для групп рынков Вы все равно можете переопределить базовую цену, но уже другим ценовым уровнем).

Использование свободных форм ценообразования

Начните с раздела «Цены» на странице «Цены и доступность Вашего продукта в Dev Center». Находясь на этой странице, Вы можете использовать функцию ценообразования свободной формы в 2 простых шага:

1) Выберите рынок, для которого Вы хотите изменить базовую цену с помощью новой формы ценообразования

  • Нажмите «Выбрать рынки для изменения базовой цены», выберите нужный рынок и нажмите «Создать».

2) Отмените базовую цену

  • В выпадающем меню выберите «Свободная форма» и введите Вашу новую цену.

  • Введенная в свободной форме цена должна находиться в допустимом диапазоне (например, в долларах США диапазон составляет 0,99 - 1,999,99 USD) и должен быть в правильном формате этой валюты. Предупреждения о валидации предупреждают Вас о любых ошибках в Вашей заполненной форме.

Это так просто! Для изучения подробной документации, перейдите на эту страницу.



Posted on 31. January 2018

Target Surface Hub и Windows 10 S с процессором Snapdragon для Ваших UWP приложений

Когда Вы отправляете Ваше UWP приложение или игру на сертификацию в Microsoft Store через Dev Center, у Вас есть возможность, выбирать семейства устройств, на которые пользователи могут устанавливать Ваше приложение. Приложение или игра будут доступны для всех поддерживаемых семейств устройств по умолчанию (кроме Xbox, где Вы можете выбирать по желанию, если это поддерживается Вашими пакетами). Это позволяет Вашим приложениям и играм увеличивать количество потенциальных клиентов. 

Недавно Microsoft добавили новые опции, которые позволяют публиковать продукты на Surface Hub. Теперь Вы можете предлагать ARM пакеты для Windows 10 S на процессоре Snapdragon категории постоянно подключенных ПК (Always Connected PCs).

Чтобы настроить Surface Hub при отправке Вашего UWP приложения в Microsoft Store, убедитесь, что присутствует флажок для семейства устройств Windows 10 Team. Обычно это происходит, если Вы загружаете пакеты, ориентированные на Universal или Team семейства устройств.

Если Вы включаете ARM пакет в Ваше приложение, предназначенное для универсального или настольного устройства, этот пакет будет доступен для Windows 10 S устройств на Snapdragon процессоре (постоянно подключенных ПК) до тех пор, пока проверяется семейство Windows 10 Desktop устройств.

В приведенном выше примере показаны три пакета, предназначенные для универсального семейства устройств x64, ARM и x86. Выбраны колонки для Windows 10 Desktop, Windows 10 Mobile, Windows 10 Xbox, Windows 10 Team и Windows 10 Holographic. Это означает, что клиенты могут устанавливать Ваш продукт на любое из этих типов устройств.

Дополнительную информацию о выборе семейства устройств смотрите в этой документации.

Упаковка и тестирование приложений

Пакеты приложений настроены для работы на определенной архитектуре процессора. Команда Microsoft настоятельно рекомендует собирать пакеты Ваших приложений для всех архитектур, чтобы Ваше приложение работало бесперебойно на всех типах Windows 10 устройств. Чтобы узнать больше, ознакомьтесь с документацией по архитектуре пакета приложений.

Microsoft настоятельно рекомендует тестировать Ваше приложение на всех семействах устройств, которые Вы планируете поддерживать, чтобы предоставить клиентам лучший опыт работы на всех устройствах. Чтобы узнать больше о шагах, которые необходимо выполнить перед упаковкой и отправкой UWP приложения в Microsoft Store, ознакомьтесь с этой документацией.



Posted on 25. January 2018

Windows Desktop Program для Desktop Application Analytics

Важной функцией для разработчиков настольных приложений является возможность просмотра подробной аналитики о производительности приложения и его популярности среди пользователей. До этого момента у  разработчиков не было возможности доступа к этим аналитикам, не объединяя несколько инструментов. Благодаря Windows Desktop Program у разработчиков появился новый удобный, универсальный портал для просмотра аналитики на рабочем столе или через API данные. Статистика и графики быстро показывают, как работают приложения - от количества пользователей до подробных данных о производительности при сбоях и ошибках. Благодаря этой аналитике разработчики могут лучше отслеживать и устанавливать приоритеты исправлений, контролировать распространение своего приложения, готовить и улучшать общий функционал для своих клиентов.

Для доступа к этим данным не нужно никаких дополнительных оплат. Все, что Вам нужно сделать, это зарегистрироваться под Вашей учетной записью Microsoft, а затем загрузить подписанный файл, используя тот же доверенный, действительный сертификат, который использует Ваша компания для публикации приложений.

После регистрации в программе Windows Desktop Application Program и регистрации Ваших сертификатов, Вы сможете использовать аналитические отчеты для:

  • Просмотра общей суммы всех типов сбоев, отсортированных по количеству падений
  • Изучения каждого сбоя, загрузки трассировки стека и CAB файлов для быстрой отладки проблемы
  • Сравнения состояния работоспособности и принятие недавно выпущенной версии Вашего приложения к предыдущим выпускам
  • Просмотра данных о работоспособности в целом или по регионам, что позволит устранять проблемы, характерные для региона
  • Сравнения производительности и принятие настольных приложений разными Windows версиями, такими как последние версии Windows 10 или Windows Insider.

 

Для просмотра аналитики Ваших приложений:
  1. Зарегистрируйтесь в приложении Windows Desktop Application Program. Если у Вас уже есть учетная запись в Windows Dev Center, Вы можете открыть эту программу на странице «Программы» в настройках Учетной записи. В противном случае Вы можете зарегистрироваться здесь.
  2. Следуйте инструкциям по загрузке неподписанного файла, привяжите его к тому же сертификату подписи кода, который использует Ваша компания для подписания настольных приложений, и затем загрузите вновь подписанный файл через портал.
  3. Вуаля! Microsoft возьмет подписанный файл, который Вы только что загрузили, и сопоставит его с телеметрией, которая собирается во всех приложениях с тем же сертификатом, чтобы показать Вам данные Вашей аналитики. Чтобы узнать больше, ознакомьтесь с данной документацией.

Чтобы узнать больше о программе Windows Desktop Application Program, ознакомьтесь с одним из видео выпусков Microsoft Windows Developer.



Posted on 6. December 2017

Visual Studio Application Packaging Project

Visual Studio 2017 15.4 представил новый проект Windows Application Packaging, который поможет Вам модернизировать Ваше приложение с помощью нового стека развертывания Windows 10 приложений (Windows 10 App Deployment Stack).

Microsoft рассказывали об этом в предыдущей статье: Visual Studio 2017 Update 4 упрощает модернизацию Вашего приложения и делает его готовым к публикации, и сегодня Microsoft представит Вам новые возможности Visual Studio 2017 15.5, которые позволяют создавать новые сценарии для проекта упаковки Windows приложений с использованием всех преимуществ Windows 10 функций в Ваших приложениях.

В этой статье будут рассматриватся три примера, которые подчеркнут новые возможности, добавленные в проект упаковки, чтобы обеспечить упаковку не только для Win32 приложений, но и для приложений и UWP компонентов:

  1. Фоновое выполнение с использованием фоновых задач UWP.
  2. Интеграция Windows Shell с использованием соглашения о совместном использовании.
  3. Добавление инвестиций Win32 кода в пакеты UWP приложений.

Первые два примера это уже существующие WPF приложения, упакованные как APPX с расширенным функционалом, который реализован как UWP компоненты. Первое приложение добавляет фоновое исполнение на основе фоновых UWP задач, а второе приложение показывает, как активно внедрять приложение с Windows 10 оболочкой, используя функцию в виде соглашения о совместном использовании (Share contracts). В заключение, последнее приложение - это точка входа в UWP, вызывающая классический Win32 процесс, который взаимодействует с Excel.

Обратите внимание: Поскольку UWP компоненты необходимо скомпилировать для определенной платформы: x86 или x64, конфигурация любого конфигурационного решения для любого процессора не будет работать ни в одном из этих образцов.

Все образцы доступны в отчетах на GitHub, разделе Windows-Packaging-Samples. Для этих образцов требуется Visual Studio 2017 15.5 Preview 4 или выше, доступный для загрузки с https://www.visualstudio.com/downloads.

  1. WPF с Фоновыми Задачами

Универсальная Windows платформа включает поддержку передовой обработки фоновых процессов. Фоновые задачи позволяют запускать код, даже когда приложение приостановлено. Фоновые задачи предназначены для небольших рабочих элементов, которые не требуют взаимодействия с пользователем, таких как загрузка почты, отображение всплывающих уведомлений для входящих сообщений чатов или воздействия на изменение состояния системы.

Чтобы показать, как использовать эту функцию в Ваших Win32 приложениях, Microsoft собирается реализовать небольшую утилиту, которая сделает HTTP-запрос к URL-адресу, настроенному пользователем, и покажет прошедшие миллисекунды в всплывающих уведомлениях (Toast Notification).

Microsoft создадаст WPF приложение, чтобы пользователь мог указывать URL-адрес для проверки и включения / выключения фоновых задач. Фоновая задача будет реализована как Windows Runtime Component (WINMD). Чтобы включить этот компонент в пакет, нужно создать UWP приложение, которое использует этот компонент, и, наконец, добавить WPF и UWP проекты в качестве ссылок на проект упаковки. Ниже приведен список необходимых шагов.

Вы можете найти готовый исходный код этого примера в репозитории GitHub, но если Вы хотите создать образец с нуля, следуйте этим самым важным шагам.

  1. Упакуйте Ваше настольное приложение, используя проект упаковки
  2. Добавьте Runtime Windows компонент для выполнения фоновой задачи
  3. Добавьте UWP приложение, которое ссылается на компонент времени выполнения
  4. Добавить ссылку на UWP приложение из проекта упаковки
  5. Настройте Фоновую задачу в манифесте
  6. Зарегистрируйте фоновую задачу из Настольного приложения

После завершения 1-4 шагов, у Вас должно быть решение для проектов, как показано на рисунке ниже:

Проект упаковки ссылается не только на WPF приложение, но и на UWP проект. По этой причине решение должно быть настроено для конкретной платформы, поскольку UWP недоступен для любых конфигураций ЦП.

Реализация Фоновых Задач

Фоновая задача - это класс C#, который реализует интерфейс IBackgroundTask. Этот интерфейс определяет Run метод, который будет вызываться, когда система запустит задачу.

public sealed class SiteVerifier : IBackgroundTask
{
    public async void Run(IBackgroundTaskInstance taskInstance)
    {
 
        taskInstance.Canceled += TaskInstance_Canceled;
        BackgroundTaskDeferral deferral = taskInstance.GetDeferral();
        var msg = await MeasureRequestTime();
        ShowToast(msg);
        deferral.Complete();
    }
 
    private async Task MeasureRequestTime()
    {
        string msg;
        try
        {
            var url = ApplicationData.Current.LocalSettings.Values["UrlToVerify"] as string;
            var http = new HttpClient();
            Stopwatch clock = Stopwatch.StartNew();
            var response = await http.GetAsync(new Uri(url));
            response.EnsureSuccessStatusCode();
            var elapsed = clock.ElapsedMilliseconds;
            clock.Stop();
            msg = $"{url} took {elapsed.ToString()} ms";
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return msg;
}

 

Обратите внимание, как используется LocalSettings в ApplicationData для обмена информацией между WPF приложением и фоновой UWP задачей.

Для настройки фоновой задачи Вам необходимо обновить манифест, используя конструктор манифеста. Перейдите на вкладку деклараций, добавьте фоновую задачу и настройте точку входа как реализацию.

Для регистрации фоновой задачи в системе, Вам нужно вызвать Windows 10 API из WPF приложения. Этот API доступен в Windows 10 SDK, и для его использования с .NET необходимо добавить ссылки, объясненные здесь. После того, как Вы получили доступ к Windows 10 API, Вы можете использовать класс BackgroundTaskRegistration для настройки фоновой задачи, как показано в приведенном ниже коде:

 

public void RegisterBackgroundTask(String triggerName)
{
    var current = BackgroundTaskRegistration.AllTasks
        .Where(b => b.Value.Name == triggerName).FirstOrDefault().Value;
 
    if (current is null)
    {
        BackgroundTaskBuilder builder = new BackgroundTaskBuilder();
        builder.Name = triggerName;
        builder.SetTrigger(new MaintenanceTrigger(15, false));
        builder.TaskEntryPoint = "HttpPing.SiteVerifier";
        builder.Register();
        System.Diagnostics.Debug.WriteLine("BGTask registered:" + triggerName);
    }
    else
    {
        System.Diagnostics.Debug.WriteLine("Task already:" + triggerName);
    }
}

 

Для регистрирации фоновой задачи, убедитесь, что задача не была зарегистрирована ранее, а затем используйте BackgroundTaskBuilder для настройки имени и Триггера, в этом случае используется MainteinanceTrigger.

2. Зарегистрируйте Ваше приложение в качестве Share Target

Совместные контракты - это Windows 10 функция, которая позволяет осуществлять обмен информацией между двумя приложениями, отправителем и получателем. Благодаря Desktop Bridge, Вы можете зарегистрировать UWP приложение в качестве общего получателя, а затем интегрировать с Win32 приложением. После регистрации приложения, оно будет отображаться каждый раз, когда пользователь вызывает функцию совместного использования, как показано ниже:

В этом примере, WPF приложение расширяется с добавлением функции совместного использования, где пользователи могут отправлять изображения из других приложений, таких как Photos, Edge, Shell в наше WPF приложение. Microsoft использует проект упаковки, который включает не только WPF, но и UWP приложение, которое позволяет UWP-интерфейсу получать контент из целевого ресурса. Ниже Вы можете увидеть исследователь решений с проектом упаковки, ссылающимся на WPF и UWP проекты.

Пакет должен обозначить цель о совместном использовании (Share Target), включая имя UWP приложения:

При активации, приложение получает информацию о целевом ресурсе из параметра ShareOperation. Ниже приведен пример фрагмента кода:

protected async override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    operation = (ShareOperation)e.Parameter;
    if (operation.Data.Contains(StandardDataFormats.StorageItems))
    {
        var items = await operation.Data.GetStorageItemsAsync();
        file = items[0] as StorageFile;
        IRandomAccessStreamWithContentType stream = await file.OpenReadAsync();
 
        await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () =>
        {
            BitmapImage image = new BitmapImage();
            this.img.Source = image;
            await image.SetSourceAsync(stream);
        });
    }
}

 

Теперь каждый раз, когда пользователь делится изображением и выбирает данное приложение, запускается Share UI приложение и затем отображается UWP-интерфейс.

После нажатия кнопки «Поделиться в WPF приложение», UWP вызывает обработчик событий и копирует изображение в папку ApplicationData, и затем запускает Win32 приложение с помощью FullTrustProcessLauncher.

private async void ShareBtn_Click(object sender, RoutedEventArgs e)
{
    await file.CopyAsync(ApplicationData.Current.LocalFolder);
    operation.ReportCompleted();
    await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();
}

Для использования FullTrustProcessLauncher, применяется Desktop расширение для UWP, это расширение доступно в виде SDK ссылки, которая доступна в диалоговом окне UWP приложения «Add References»:

И, наконец, зарегистрируйте настольное расширение и целевой выполняемый файл в манифесте:

 

<... >

 

3. Добавьте Office взаимодействие из UWP приложения

Одной из ключевых особенностей Desktop Bridge является возможность добавлять исполняемые Win32 файлы в Ваш пакет приложений и запускать их как цельный процесс из UWP приложения. Теперь, с проектом Windows Application Packaging, Вы можете создавать пакеты, содержащие двоичные UWP, так и Win32 файлы.

Дополнительно к диспетчеру процессов, есть расширение App Service, которое поможет Вам установить канал связи между Вашим UWP приложением и Win32 процессом.

В этом примере показан способ добавления Win32 процесса (приложение командной строки) для управления Excel листом с использованием офисного взаимодействия.

Microsoft начинает с UWP приложения, которое использует сетку данных Telerik для отображения некоторых табличных данных, также будет добавлена  кнопка для экспорта одних и тех же данных в Excel, как показано ниже:

Исследователь решений этого примера очень похож на предыдущий пример с тремя проектами в решении: UWP приложение, командная Win32 строка и проект упаковки со ссылкой на оба проекта. Тем не менее, обратите внимание, что в этом случае точкой входа приложения (выделенной жирным шрифтом) является UWP проект:

Как и в предыдущем примере, нужно добавить ссылку на настольное расширение и зарегистрировать полный процесс доверия в манифесте. Но на этот раз, также необходимо зарегистрировать службу приложения в манифесте пакета:

Для открытия канала связи в Win32 процессе, добавьте ссылку на Windows API, как описано здесь:

Для установления соединения, используется класс AppServiceConnection, где Вам нужно указать имя семейства пакетов приложения, с которым Вы хотите установить соединение, и обработчики событий, которые будут использоватся для обработки входящих запросов.

 

Connection = new AppServiceConnection();
connection.AppServiceName = "ExcelInteropService";
connection.PackageFamilyName = Windows.ApplicationModel.Package.Current.Id.FamilyName;
connection.RequestReceived += Connection_RequestReceived;
connection.ServiceClosed += Connection_ServiceClosed;

 

Заключая данную статью

Новые функции, добавленные в проект упаковки в Visual Studio 2017, помогут Вам модернизировать существующие настольные приложения для получения максимального результата от UWP и Win32 в одном пакете. Этот новый проект поможет Вам настроить Ваш пакет с помощью конструктора манифеста, отладить Ваше приложение в контексте Desktop Bridge и, наконец, поможет подготовить пакеты для отправки в Microsoft Store или на другие ресурсы. Для получения дополнительной информации изучите:

 



Posted on 25. November 2017

UWP Community Toolkit 2.1

Microsoft представляет новое обновление UWP Community Toolkit версии 2.1!

Это обновление основывается на предыдущей версии и продолжает улучшать инструментарий приравнивая его к Windows 10 Fall Creators Update SDK. Благодаря постоянной поддержке и помощи сообщества, все пакеты были обновлены и нацелены на Fall Creators Update; несколько элементов управления, помощников и расширений были добавлены или обновлены, а опыт работы с документацией и дизайном значительно улучшился.

Ниже приведен краткий список основных обновлений этой версии. Перейдите к информации о выпуске для ознакмоления с тем, что нового в версии 2.1.

DockPanel

В этом выпуске добавлен новый элемент управления DockPanel, который обеспечивает легкое закрепление элементов слева, справа, сверху, снизу или по центру.

 

HeaderedContentControl и HeaderedItemsControl

Добавлены два элемента управления: HeaderedContentControl и HeaderedItemsControl, которые позволяют легко отображать контент с заголовками, которые также можно сделать шаблонными.

 
    
         
    
   
         

Подключенная и Скрытая Анимация в XAML

Добавлены два новых набора привязанных свойств XAML, которые позволяют работать с анимацией композиции непосредственно в XAML

 

  • Скрытые анимации (включая показ и скрытие) теперь могут добавляться прямо в XAML элементы
 
 
    
        
        
    
 
 
        
  • Связанные анимации теперь могут устанавливаться прямо на XAML элементах, путем добавления одного и того же ключа к элементам на разных страницах


 



 

Улучшенный Опыт Разработки

Добавлена поддержка для элементов управления, включая интеграцию с инструментами и улучшенное время разработки, путем размещения свойств в соответствующей категории в сетке свойств с помощью всплывающих подсказок.

 

Новые свойства SystemInformation

Класс SystemInformation теперь включает новые свойства и методы, чтобы упростить предоставление первого запуска (или связанного) опыта или сбора более богатой аналитики.

Легкий переход к новым элементам управления в Fall Creators Update

Чтобы обеспечить бесперебойный переход от уже существующих элементов инструментария к новым элементам управления в Fall Creators Update, у HamburgeMenu и SlidableListItem есть новые свойства для использования NavigationView и SwipeControl при запуске в Fall Autodesk Update. Ознакомьтесь с принципами работы в этой документации.

Документация

Вся документация теперь доступна в Microsoft документах. Кроме того, есть новая API документация как часть .NET API Browser.

 

Разработано сообществом

Это обновление было бы невозможно без поддержки и участия сообщества. Если Вы заинтересованы в участии в разработке, но не знаете, как начать работу, ознакомьтесь с часто задаваемыми вопросами на GitHub.

Напоминаем о том, что, хотя большая часть усилий по разработке и использованию набора инструментов UWP Community Toolkit предназначена для настольных приложений, он также отлично работает на Xbox One, Mobile, HoloLens, IoT и Surface Hub устройствах. Вы можете начать работу, следуя этому руководству, или просмотреть последние функции, установив UWP Community Toolkit Sample App из Microsoft Store.

Чтобы присоединиться к беседе в Twitter, используйте hashtag #uwptoolkit.