Posted on 26. January 2020

Анонс о предварительном просмотре двухэкранного SDK и Microsoft 365 Developer Day

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

1.       Изучение предварительных SDK и стандартных предложений для приложений и веб-сайтов

2.       Использование устройств с двумя экранами

3.       Узнайте больше на Microsoft 365 Developer Day

 

1)      Изучение предварительного просмотра SDK и предложений по стандартам для приложений и веб-сайтов

Microsoft объявляет о доступности предварительного просмотра SDK для Microsoft Surface Duo и о доступности в ближайшие недели предварительного просмотра SDK для Windows 10.  Также сообщает о  новых предложениях по веб-стандартам, чтобы обеспечить работу с двумя экранами для веб-сайтов и PWA на Android и Windows 10X. Эти новые предложения по веб-стандартам предоставят вам возможности и инструменты, необходимые для устройств с двумя экранами.

 

Загрузить предварительный просмотр SDK для Microsoft Surface Duo

Сегодня разработчики могут загрузить предварительный SDK для Surface Duo, получить доступ к документации и образцам лучших рекомендаций, увидеть шаблоны проектирования UX и многое другое. Предварительный просмотр SDK дает разработчикам первый взгляд на то, как вы можете воспользоваться преимуществами работы с двумя экранами.

Это включает:

Встроенные API-интерфейсы Java для поддержки разработки двух экранов для устройства Surface Duo, включая API-интерфейс DisplayMask, датчик угла поворота и новые возможности устройства.

Эмулятор Android с предварительным просмотром изображения Surface Duo, интегрированный в Android Studio, чтобы вы могли протестировать свое приложение без физического устройства. Эмулятор имитирует позы, жесты, угол поворота, имитирует шов между двумя экранами и многое другое. Microsoft продолжит добавлять функциональность с течением времени.

Требования: Для Android Studio и Android Emulator.

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

Рисунок 1. Эмулятор Android с предварительным просмотром изображения Surface Duo

Преждевременный взгляд на разработку для Windows 10X

В ближайшие недели разработчики получат доступ к предварительной версии Windows SDK через стандартные сборки Insider. Предоставляем  вам эмулятор Microsoft® 11 февраля, а также новые API-интерфейсы для поддержки двух экранов, документацию и примеры кода.

Включены:

API-интерфейсы Windows для разработки двух экранов, позволяющие вашему приложению охватывать два экрана, определять положение петель и использовать преимущества Windows 10X.

Эмулятор Microsoft представляет собой двухэкранный эмулятор Hyper-V, поэтому вы можете развернуть существующие приложения на универсальной платформе Windows (UWP) и Win32 и протестировать их в одно- и двухэкранных сценариях. Эмулятор имитирует физическое устройство, чтобы вы могли видеть, как ваши приложения взаимодействуют с Windows 10X.

Требования: последняя предварительная сборка Windows Insiders для 64-битной Windows 10 (Pro, Enterprise или Education), 64-битный ЦП с 4 ядрами, минимум 8 ГБ (рекомендуется 16 ГБ ОЗУ), Hyper-V и выделенный графический процессор с поддержкой Direct X 11.0 или позже.

Рисунок 2: Эмулятор Microsoft, показывающий Windows 10X

Примеры работ с двумя экранами в сети.

Новый Microsoft Edge, обеспечивает мощную и совместимую основу для взаимодействия веб-сайтов и веб-приложений на устройствах на базе Chromium. Microsoft активно внедряет новые возможности, которые позволяют веб-контенту обеспечивать отличную работу на устройствах с двумя экранами, независимо от того, запущен ли он в браузере или установлен как приложение.

Новые веб-стандарты для двухэкранного макета. Также предлагаем CSS-примитивы для двухэкранных макетов и JavaScript Window Segments Enumeration API предоставить примитивы веб-платформ для веб-разработчиков для обнаружения нескольких дисплеев и размещения контента на них. В ближайшее время ожидаются результаты экспериментальной реализации этих функций в предварительных сборках браузера.

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

Сегменты окна JavaScript перечисляет (области на отдельных дисплеях), где могут быть размещены отдельные части контента.

Многопоточность CSS мультимедийной функции позволяет размещать содержимое в окне, которое охватывает несколько дисплеев.

Прогрессивные веб-приложения поддерживаются из Microsoft Edge, который можно установить прямо из браузера на Windows 10X и Android. PWA будут поддерживать те же функции и инструменты для работы с двумя экранами, что и браузер.

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

2)      Использование устройств с двумя экранами

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

Рисунок 3: Шаблоны приложений с двумя экранами

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

Рисунок 4: Ориентация и расположение двух экранов.

Для тех, кто заинтересован в кроссплатформенной разработке с использованием React Native или Xamarin.Forms, Microsoft работает над улучшением этих фреймворков и примеров кода. Вы можете найти все двухэкранные контрольные списки, шаблоны приложений и новые примеры кода по мере их появления на сайте  с документацией по двум экранам. Пожалуйста, свяжитесь по адресу dualscreendev@microsoft.com, чтобы идеализировать и внедрить инновационные технологии для работы с двумя экранами.

 

3) Узнайте больше на Microsoft 365 Developer Day

Присоединяйтесь к онлайн трансляции на Microsoft 365 Developer Day, посвященный работе с двумя экранами во вторник, 11 февраля, в 8:30 утра по тихоокеанскому времени. Основной доклад и сессии:

Получите максимум от SDK и эмуляторов

Использование кроссплатформенных инструментов и языков

Разработка приложений для устройств с двумя экранами

Создание примеров работ с двумя экранами в Интернете.

Подключите свои приложения с Microsoft 365

 

Источник



Posted on 18. May 2017

Announcing Project Rome iOS SDK

Project Rome – это платформа для обеспечения беспрепятственного межсетевого и кросс-платформенного использования.  Цель Project Rome очень проста - работа пользователя с приложением не должна быть привязана к одному устройству больше, чем данные, которые должны привязываться к одному устройству. Ваши приложения, также как и ваши данные, должны перемещаться вместе с вами.

Раньше это означало переход между устройствами при сохранении одного пользовательского интерфейса на другом устройстве Windows. Несколько месяцев назад функции Project Rome были расширены на платформу Android, что позволяет вам начать сеанс пользования приложением на телефоне Android и продолжить его на ПК с операционной системой Windows, на Xbox One или даже в Surface Hub.

На сегодняшний день, поддержка Project Rome также доступна для платформы iOS. Здесь вы можете скачать Project Rome SDK для iOS.


Рассмотрение музыкального приложения Contoso

Пример Contoso Music хорошо показывает сценарии работы пользователя с приложением на разных устройствах.

Это приложение для потоковой передачи музыки UWP, которое работает на нескольких устройствах Windows, привязанных к одной и той же учетной записи Microsoft (MSA). Используя Project Rome, приложение работает таким образом, чтобы пользователь, передающий песню на ПК с ОС Windows, мог передать эту песню на свой Xbox. После этого, он всегда может переместить текущий плейлист на свой Windows Phone перед тем, как выйти на пробежку.

Расширение для iOS

Представим себе, что, основываясь на успехе версий Windows и Android, разработчик создает iOS-версию Contoso Music. Изучая его телеметрию через несколько месяцев, видим, что все приложения успешны также, как и его версии для Windows и Android. Однако в отзывах пользователей есть общая тема: Пользователи затрудняются с переключением между устройствами. Итак, планируем добавить такую возможность, чтобы пользователь могу слушать музыку на iPhone через наушники, а затем войти в гостиную и незамедлительно переключиться на воспроизведение той же музыкальной композиции через свой Xbox, подключенный к качественным динамикам.

С Project Rome iOS SDK мы можем создать мост между устройствами iOS и устройствами Windows в два этапа:

 

  • RemoteSystems API позволяет приложению обнаруживать устройства Windows, которыми владеет пользователь. RemoteSystems API позволит приложению Contoso Music обнаруживать эти устройства в той же сети или через облако.
  • После обнаружения устройств, RemoteLauncher API  запустит приложение Contoso Music на другом устройстве Windows.

 

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

Чтобы переключиться с воспроизведения музыки с устройства iOS на устройство Windows, приложение должно распознать другое устройство. Для этого требуется использование MSA OAuth, чтобы получить разрешение на запрос для устройств, а затем обнаруживать дополнительные устройства, как показано на диаграмме ниже.


 

 

 

// Asynchronously initialize the Rome Platform.
  // Pass in self as class implements the CDOAuthCodeProviderDelegate protocol.
  [CDPlatform startWithOAuthCodeProviderDelegate:self completion:^(NSError* clientError) {
                                              if (clientError)
                                              {
                                                  // Handle error
                                                  return;
                                              }
 
                                              // Handle success, show discovery screen
                                      }];
 
// Implementation of CDOAuthCodeProviderDelegate
// The Rome SDK calls this delegate method when it needs an OAuth Access Code from the application.
- (NSError*)getAccessCode:(NSString*)signinUrl completion: (void (^)(NSError* error, NSString* accessCode))completion {
 
// Stash away the callback the SDK gives us
_getTokenCallback = completion;
 
  // Show the interactive OAuth Web View flow.
  // Once the OAuth flow completes or fails, invoke this callback.
  ...
 
// Return nil as there was no error
  return nil;
}

 

 

После инициализации, приложение может распознавать все устройства на графике устройства пользователя MSA, инициировав распознание с помощью CDRemoteSystemDiscoveryManager. Информация об обнаруженных устройствах создается через протокол CDRemoteSystemDiscoveryManagerDelegate. В примере Microsoft каждое обнаруженное устройство сохраняется в свойстве NSMutableArray.

 

// Create instance and pass ‘self’ as the delegate as it implements CDRemoteSystemDiscoveryManagerDelegate.
CDRemoteSystemDiscoveryManager* remoteSystemDiscoveryManager = [[CDRemoteSystemDiscoveryManager alloc] initWithDelegate:self];
 
// Start discovery.
[remoteSystemDiscoveryManager startDiscovery];
 
// CDRemoteSystemDiscoveryManagerDelegate implementation
- (void)remoteSystemDiscoveryManager:
            (CDRemoteSystemDiscoveryManager*)discoveryManager
                             didFind:(CDRemoteSystem*)remoteSystem {
  @synchronized(self) {
     [self.discoveredSystems addObject:remoteSystem];
      // Refresh UI based upon updated state in discoveredSystems e.g. populate table
   }
}
 
- (void)remoteSystemDiscoveryManager:
            (CDRemoteSystemDiscoveryManager*)discoveryManager
                           didUpdate:(CDRemoteSystem*)remoteSystem {
  NSString* id = remoteSystem.id;
 
// Loop through and update the Remote System instance if previously seen.
  @synchronized(self) {
    for (unsigned i = 0; i < self.discoveredSystems.count; i++) {
      CDRemoteSystem* currentRemoteSystem =
          [self.discoveredSystems objectAtIndex:i];
      NSString* currentId = currentRemoteSystem.id;
 
      if ([currentId isEqualToString:id]) {
        [self.discoveredSystems replaceObjectAtIndex:i withObject:remoteSystem];
        break;
      }
    }
 
       // Refresh UI based upon updated state in discoveredSystems e.g. populate table
  }
}

 

 

Теперь пользователь может выбрать устройство, на которое он хочет перенести проигрывание музыки, из списка обнаруженных устройств. Из выбранной CDRemoteSystem образец создания CDRemoteSystemConnectionRequest показан на диаграмме последовательности ниже. Используя CDRemoteLauncher, можно удаленно запускать приложение на выбранном устройстве, а также добавлять необходимую дополнительную контекстуальную информацию, такую как воспроизводимая в данный момент песня.

 

 

Здесь вы можете ознакомиться с тем, как дистанционно запустить http://www.bing.com  на вашем устройстве:

 

// Create a connection request using the CDRemoteSystem instance selected by the user
  CDRemoteSystemConnectionRequest* request =
       // Using the RemoteSystem above, [self.discoveredSystems addObject:remoteSystem];
      [[CDRemoteSystemConnectionRequest alloc] initWithRemoteSystem:system];
 
NSString* url = @”http://www.bing.com”;
 
  [CDRemoteLauncher
           launchUri:uri
           withRequest:request
           withCompletion:^(CDRemoteLauncherUriStatus status) {
            // Update UI on launch status
            }];

 

 

Как видите достаточно легко расширить поддержку кросс-устройств для iOS в своем приложении.

В Завершении

Project Rome разрушает барьеры, изменяя представления о том, что такое «приложение», и фокусируясь на пользователе независимо от того, где он находится или какое устроство использует. Теперь приложение не обязательно должно означать что-то, что привязано к одному устройству, вместо этого оно может быть чем-то, что существует между вашими устройствами и оптимизировано для нужного устройства в нужное время.

Чтобы узнать больше о Project Rome, ознакомьтесь с предоставленными ниже ссылками.

 

 

 



Posted on 2. March 2017

Выпущенна предварительная сборка 15042 Windows 10 SDK

Microsoft выпустили новое обновление Windows 10 SDK, предварительный просмотр которого будет использован в союзе с Windows 10 Insider Preview (Сборка 15042 и выше). Предварительный SDK это предварительная версия и она не может быть использована в рабочей среде. Пожалуйста, устанавливайте SDK только на Ваш тестовый компьютер. Предварительный SDK сборки 15042 содержит исправления ошибок и изменяет разработку по отношению к контактной API зоне. Если Вы работаете над приложением, которое Вам нужно отправить в магазин, Вам не должны устанавливать предварительный просмотр.

 

Предварительный SDK можно загрузить из раздела разработчиков на Windows Insider.

 Для обратной связи и обновлений по известным вопросам, пожалуйста, смотрите форум разработчиков. По запросам новых функций, зайдите на нашу страницу Windows Platform UserVoice.

Что нового

Никаких API изменений не произошло с момента сборки 15021.

Установка Windows SDK переименована: Если у Вас есть сценарии, предназначенные для установки предыдущего SDK, Вам нужно будет обновить путь, чтобы использовать новое имя: WinSDKSetup.exe.

Теперь Windows SDK будет официально поддерживаться только для Visual Studio 2017 и выше. Вы можете скачать Visual Studio 2017 RC здесь.

Известные проблемы Windows SDK

Шаблон DX12 сбрасывается при запуске сборки 15042: Это известная ошибка в программе установки Windows SDK. Если Вы столкнулись с этой проблемой, Вы можете восстановить SDK, запустив следующую команду из командной строки: C:\program files (x86)\windows kits\10\bin\10.0.15042.0\x86\DismFoDInstall.cmd

Невозможно развернуть на устройстве: Если Вы не можете развернуть Ваше приложение на устройстве или эмуляторе, это может быть из-за неправильной установки Windows IPOverUSB. Чтобы обойти эту проблему:

  1. Откройте ISO
  2. Перейдите в папку WindowsSDK\Installers
  3. Дважды щелкните по файлу "Windows IP Over USB-x86_en-us.msi"
  4. Следуйте указаниям

Происходит сбой комплекта сертификации приложений Windows при запуске из Visual Studio: Если Visual Studio не может развернуть приложение, при запуске может произойти сбой комплекта сертификации приложений Windows. Чтобы обойти эту проблему:

1. Запустите комплект сертификации приложений для Windows с помощью сочетания клавиш Windows

2.   Предоставьте указатель прямо к пакету для запуска тестов

 

API обновления и дополнения

Никаких API изменений не произошло с момента сборки 15021. Для получения списка добавленных API-интерфейсов с момента юбилейного обновления Windows 10, смотрите 15021.



Posted on 10. February 2017

Windows SDK для Google Analytics

Google Analytics является одной из наиболее популярных аналитических решений для веб-сайтов и мобильных приложений. Google Analytics широко используется для отслеживания пользовательских сеансов, переходов в приложении, событий, сбоев, социальных взаимодействий и рекламных кампаний на Android и IOS.

И сегодня Google Analytics SDK запускается для Windows Store (UWP) приложений, предоставляя простой способ для разработчиков Windows 10 получить доступ к этим ценным услугам. SDK может быть интегрирован в ваши приложения с помощью пакета NuGet. Его источник размещен на GitHub.

Существует C# SDK, который может использоваться как для универсальных Windows Store приложений, так и для настольных приложений, а также есть C++ WinRT компонент для разработчиков, ориентированных на UWP приложения, написанные на C ++ или JavaScript. Оба из них, C# SDK и компонент C ++ WinRT, используют одинаковые API, таким образом используется единых подход в разработке.

SDK построен на основе  протокола передачи статических данных Google сервиса, который позволяет разработчикам отправлять данные к серверам Google Analytics через HTTP-запросы. API-интерфейсы Windows SDK для Google Analytics созданы по образцу имен классов и шаблонов проектирования от компании Google Android SDK, чтобы максимально обеспечить портативность и читабельность для тех, кто уже знаком с Google Analytics на других платформах.

Начать работу

Если Вы предпочитаете видео формат, это "Начало работы с Windows SDK для Google Analytics" наглядно показывает каждый шаг ниже.

Если Вы предпочитаете письменную форму, здесь показано как добавить Windows SDK для Google Analytics в проект:

 

  •  И наконец, добавьте свой код для отслеживания событий.


Posted on 16. January 2010

Вышел Smooth Streaming Player Development Kit Beta 2

Данное решение позволяет разрабатывать Silverlight приложения с использованием возможностей IIS Smooth Streaming. Набор включает следующие компоненты:

  • Smooth Streaming Player Development Kit (SDK) - позволяет разработчикам и дизайнерам создавать медиа проигрыватели с использованием Smooth Streaming и включает в себя SDK для Silverlight с полной поддержкой XAML. Главным компонентом решения является Smooth Streaming Media Element(SSME), который похож на Silverlight Media Element. Начальная документация доступна на MSDN: http://msdn.microsoft.com/en-us/library/microsoft.web.media.smoothstreaming.aspx.
  • Push Encoder - позволяет эмулировать прямую трансляцию для тестирования решений.
  • Sample Smooth Streaming Player - пример разработан на основе Smooth Steaming Player SDK и позволяет тестировать IIS Media Services 3.0.

SSME API обеспечивает легкий интерфейс для разработчиков и дизайнеров по созданию высококвалифицированных Smooth Steaming решений с использованием Silverlight технологии.

Текущая версия SSME включает в Player Development Kit поддержку следующих возможностей:

  • Базовое управление медиа:
    • Play, Pause, Stop и др.
    • События для воспроизведения медиа и диагностики.
    • Возможность позиционирования треков.
  • Поддержка улучшенного воспроизведения:
    • поддержка DVR для Live Smooth Streaming.
    • Trick Play: Slow Motion.
    • Trick Play: Fast Forward / Rewind.
  • поддержка H.264/AAC.
  • монетизация:
    • встроено воспроизведение рекламы - расписание и др.
    • "живая" реклама с использованием Live Smooth Steaming.
    • мощная аналитика с Advanced Logging.
    • поддержка специализированных маркеров и др.
  • защита контента - интеграция PlayReady с VC1.
  • и другие возможности.

Больше инструкций по использованию Sample Smooth Streaming проигрователя и Push Encoder для тестирования Live Smooth Streaming в вашем окружении смотрите в следующих статьях:

 

Оригинал анонса.