вНовости программирования

Набор API для кроссплатформенной работы приложений Project Rome получил поддержку iOS

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

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

Как работает Project Rome?

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

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

  • RemoteSystem API позволяет приложению обнаруживать пользовательские устройства Windows в сети или облаке;
  • RemoteLauncher API при обнаружении запускает воспроизведение музыки на другом устройстве Windows.

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

Project Rome

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

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

Project Rome

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

Пример кода для описанного сценария можно найти в блоге Windows.

Подводя итог

Project Rome разрушает барьеры, меняя представление о том, что такое «приложение», и фокусируясь на пользователе, откуда бы и на каком бы устройстве он ни работал. Приложение — это больше не обязательно что-то, связанное с конкретным устройством. Вместо этого оно становится чем-то, что существует между вашими устройствами и оптимизировано для правильной работы в нужное время. Сегодня Project Rome работает на Windows 10, Android и iOS. Посмотрим, что будет дальше…

Типичный программист.

Источник: Типичный программист