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

В сегодняшних условиях, когда ожидания пользователя часто обусловлены конкретными устройствами, полные циклы продукта нужно измерять в месяцах, а не в годах. Кроме того, новые выпуски необходимо делать доступными на постоянной основе и развертывать с минимальным негативным влиянием на пользователей. При разработке Windows 10 корпорация Майкрософт учла эти требования и реализовала инновационный подход к разработке и доставке новых функций продукта, носящий название Windows as a Service (WaaS — Windows как услуга). Ключом к существенному сокращению циклов продукта при сохранении его высокого качества явился инновационный подход к тестированию с ориентацией на сообщество, который корпорация Майкрософт реализовала для Windows 10. Сообщество участников программы предварительной оценки Windows состоит из миллионов пользователей по всему миру. После вступления участников программы предварительной оценки Windows в данное сообщество они тестируют множество сборок в течение всего цикла продукта и отправляют отзывы в Майкрософт, используя итеративную методологию, называемую фокус-тестированием.

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

Типы и последовательность выпусков Windows 10

Хотя корпорация Майкрософт выпускает тестовые сборки для участников программы предварительной оценки Windows, широкой публике корпорация регулярно представляет два типа выпусков Windows 10:

Обновления компонентов На устройства, уже работающие под управлением Windows 10, добавляются новые компоненты и возможности. Поскольку обновления компонентов содержат полную копию Windows, они также применяются пользователями для установки Windows 10 на имеющиеся устройства под управлением Windows 7 или Windows 8.1 и на новые устройства без операционной системы. Корпорация Майкрософт планирует публиковать в среднем один-два новых обновления компонентов в год.

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

В процессе разработки Windows 10 Майкрософт оптимизировала цикл разработки и выпуска продуктов Windows с тем, чтобы ускорить доставку нужных пользователям компонентов, функций и возможностей взаимодействия. Майкрософт также создала новые способы доставки и установки обновлений компонентов и качества, упрощающих развертывание и текущее обслуживание, расширила базу сотрудников, которым можно выполнять обновление до новейших возможностей Windows, а также снизила совокупную стоимость владения. Поэтому были реализованы новые типы обслуживания (а именно — Current Branch (CB), Current Branch for Business (CBB) и Long-Term Servicing Branch (LTSB)), которые предоставляют практичные решения для поддержки обновления большего числа корпоративных устройств, чем было возможно ранее.

В следующей таблице представлены различные ветви обслуживания и их основные атрибуты.

Тип обслуживания Доступность новых обновлений компонентов для установки Минимальный срок обслуживания Главные преимущества Поддерживаемые выпуски
Current Branch (CB) Сразу же после первой публикации корпорацией Майкрософт Около 4 месяцев Делает новые возможности доступными для пользователей как можно скорее Домашняя Pro, Windows 10 для образовательных учреждений, Корпоративная, Mobile, IoT Базовая, Windows 10 IoT Базовая Профессиональная (IoT Core Pro)
Current Branch for Business (CBB) Приблизительно через 4 месяца после первой публикации корпорацией Майкрософт Около 8 месяцев Обеспечивает дополнительное время для проверки новых обновлений компонентов перед развертыванием Pro, Для образовательных учреждений, Корпоративная, Mobile Корпоративная, IoT Core Pro
Long-Term Servicing Branch (LTSB) Сразу же после публикации корпорацией Майкрософт 10 лет Включает долгосрочное развертывание выбранных выпусков Windows 10 в малоизменяемых конфигурациях Корпоративная (LTSB)

 

Дополнительные сведения см. в статье Введение в вопросы обслуживания Windows 10.

Поддержка приложений в рамках модели «Windows как услуга»

Традиционным способом поддержки приложений был выпуск новой версии приложения в ответ на выпуск Windows. Это предполагало внесение критических изменений в базовую ОС, что потенциально могло приводить к ухудшению работы приложения. Эта модель предусматривает специальный цикл разработки и проверки, требующий от наших партнеров — независимых поставщиков программных продуктов — согласования выпуска их ПО с частотой выпуска Windows.

В рамках модели «Windows как услуга» Майкрософт обязуется обеспечивать совместимость базовой ОС. Это означает, что Майкрософт будет вести скоординированную работу по обеспечению отсутствия критических изменений, отрицательно влияющих на экосистему приложений. В этом случае после выпуска сборки Windows большинство приложений (без каких-либо зависимостей ядра) будут работать исправно.

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

Этот подход позволяет уменьшить объем усилий, затрачиваемых на соблюдение расписания выпуска приложений, привязанного к частоте выпуска Windows. У независимых поставщиков программных продуктов должна быть возможность свободно выпускать компоненты и обновления с удобной для них частотой. Мы считаем, что наши партнеры готовы предоставлять последние обновления приложений своим клиентам независимо от частоты выпуска Windows. Кроме того, нашим пользователям не придется ознакамливаться с официальным заявлением о поддержке после каждого выпуска сборки Windows. Ниже приведен пример заявления о поддержке с описанием особенностей предоставления поддержки для приложения на разных версиях ОС:

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

 

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

Основные изменения, внесенные в Windows с момента выхода Windows 7, для обеспечения совместимости приложений

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

В рамках временного периода, в течение которого выполнялась доработка Windows 7, к решению проблем совместимости применялся реактивный подход. Работая над Windows 8, мы взглянули на эту задачу под другим углом и сконцентрировались на том, чтобы совместимость была заложена в ОС изначально, а не являлась доработкой. На данный момент Windows 10 обладает самыми широкими предварительно встроенными возможностями совместимости по сравнению с остальными версиями ОС. Нам удалось добиться этого благодаря следующему:

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

Чтобы сделать Windows 10 лучше, Майкрософт использует данные

Майкрософт собирает данные диагностики и сведения об использовании, чтобы выявить и устранять проблемы, совершенствовать продукты и услуги, а также предоставлять персонализированное обслуживание. К сведениям об использовании также относятся данные о приложениях, которые выполняются на компьютерах в экосистеме Windows. В зависимости от того, с чем работают наши пользователи, мы создаем список тестирования этих приложений, устройств и драйверов для их проверки на предмет совместимости с новыми версиями ОС. На сегодняшний день в Windows 10 реализованы самые широкие возможности совместимости по сравнению с остальными версиями ОС и она обладает совместимостью на уровне 90 % с тысячами популярных приложений. Рабочая группа, занимающаяся вопросами совместимости Windows, часто связывается с независимыми поставщиками программных продуктов, сотрудничающими с нами, чтобы сообщить о найденных проблемах, поэтому мы и наши партнеры можем совместно создавать решения. В идеальном варианте мы хотели бы, чтобы наши общие клиенты могли без труда обновлять Windows без ущерба для возможностей как использующейся операционной системы, так и приложений, от которых зависит производительность или досуг пользователей.

Следующие разделы содержат ряд рекомендаций Майкрософт по обеспечению совместимости ваших приложений c Windows 10.

Проверка версии Windows

Версия ОС была изменена (повышена) вместе с выпуском Windows 10. Это значит, что внутренний номер версии был изменен на 10.0. Как и раньше, мы хотим сделать все возможное для обеспечения совместимости с приложениями и устройствами после изменения номера версии ОС. Для большинства категорий приложений (без зависимостей ядра) изменение не окажет отрицательное влияние на функциональные возможности приложений и существующие приложения будут и дальше работать нормально в среде Windows 10.

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

  • Установщик приложения не сможет установить приложение и оно может не запуститься.
  • Приложения могут работать нестабильно или со сбоями.
  • Приложения могут создавать сообщения об ошибках, но продолжать работать в штатном режиме.

Некоторые приложения выполняют проверку номера версии ОС и передают пользователям обычное предупреждение. Однако существуют приложения, работа которых очень сильно зависит от результатов проверки номера версии ОС (в драйверах или в режиме ядра для предотвращения обнаружения номера версии). В этих случаях при обнаружении несовместимой версии приложение запустить не удастся. Поэтому вместо проверки версии мы рекомендуем использовать один из следующих подходов:

  • Если приложение зависит от конкретной функции API, убедитесь, что вы используете правильную версию API.
  • Убедитесь, что обнаружение изменения выполняется с помощью APISet или другого общедоступного API, и номер версии не используется в качестве прокси для одного и того же компонента или исправления. Если проверка выявила критические изменения и ничто не повлияло на правильность проверки, можно достоверно утверждать об обнаружении ошибки.
  • Убедитесь, что приложение НЕ ВЫПОЛНЯЕТ проверку версии нестандартными способами, например через реестр, версии файлов, начальные номера версий ПО, в режиме ядра, через драйверы или другим образом. Если приложению в любом случае необходимо проверить версию, используйте API-интерфейсы GetVersion, которые будут возвращать основной и вспомогательный номера, а также номер сборки.
  • При использовании API-интерфейса GetVersion следует помнить, что поведение этого интерфейса изменилось, начиная с Windows 8.1.

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

Недокументированные API

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

Разработка приложений универсальной платформы Windows и приложений Centennial

Мы рекомендуем всем независимым поставщикам программных продуктов для Win32 двигаться вперед и разрабатывать приложения универсальной платформы Windows и, в частности, приложения Centennial. По сравнению с использованием традиционных установщиков Win32 разработка таких пакетов приложений обеспечивает весомые преимущества. Приложения UWP также поддерживаются Магазином Windows, чтобы вы могли предоставлять пользователям обновленные версии приложений в автоматическом режиме, снижая расходы на поддержку.

Если ваши типы приложений Win32 не работают с моделью Centennial, мы настоятельно рекомендуем использовать правильный установщик и выполнять его комплексную проверку на работоспособность. Установщик — это первая среда взаимодействия пользователя или клиента с вашим приложением, поэтому убедитесь, что он работает правильно. Слишком часто он работает некорректно или бывает протестирован недостаточное количество раз для гарантии его выполнения во всех случаях использования. Комплект сертификации приложений для Windows поможет проверить процедуру установки и удаления приложения Win32, выявить использование недокументированных API-интерфейсов, а также другие базовые распространенные проблемы, связанные с производительностью, перед тем, как это сделают пользователи.

Рекомендации:

  • Используйте установщики, которые работают в среде как 32-, так и 64-разрядных версий Windows.
  • Проектируйте установщики с учетом возможности их запуска разными способами (пользователем или в автоматическом режиме).
  • Храните все распространяемые компоненты Windows в исходном пакете — в случае перепаковки этих компонентов установщик может быть поврежден.
  • Разрабатывайте установщики в соответствии с расписанием — разработчики часто забывают добавлять установщики в состав пакета поставки программного продукта в ходе жизненного цикла разработки ПО.

Оптимизированные стратегии тестирования и фокус-тестирование

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

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

Шаг 1. Зарегистрируйтесь в программе предварительной оценки Windows и примите участие в фокус-тестировании

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

Поскольку вы получите доступ к предварительным сборкам Windows 10, Windows 10 Mobile, а также новейшим пакетам Windows SDK и эмулятору, в вашем распоряжении будут все средства для создания замечательных приложений и изучения новых возможностей универсальной платформы Windows и Магазина Windows.

Также это отличная возможность создавать первоклассное оборудование с помощью предварительных сборок комплектов разработки оборудования, позволяющих разрабатывать универсальные драйверы для Windows. Кроме того, на поддерживаемых платформах разработки для IoT доступна IoT Core Insider Preview, чтобы вы могли создавать отличные интегрируемые решения с использованием универсальной платформы Windows.

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

  • Пользователей, которые хотят оценить работу находящегося в разработке программного обеспечения.
  • Пользователей, готовых делиться отзывами и предложениями о работе программного обеспечения и платформы.
  • Пользователей, не возражающих против тестирования большого количества обновлений или дизайна пользовательского интерфейса, который может претерпевать значительные изменения с течением времени.
  • Пользователей, которые обладают продвинутыми навыками работы с компьютером, а также навыками поиска и устранения возникающих проблем, резервного копирования данных, форматирования жесткого диска, установки операционной системы с нуля или восстановления предыдущей версии ОС (при необходимости).
  • Пользователей, которые знают, что из себя представляет файл ISO и умеют использовать его.
  • Пользователей, которые не будут устанавливать промежуточные сборки на компьютер или устройство, используемые для выполнения повседневных задач.

Шаг 2. Протестируйте приложение в различных сценариях использования

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

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

Проверка обновлением: убедитесь, что ваше приложение работает корректно после обновления с более ранней версии Windows (Windows 7 или Windows 8.1) до Windows 10. Приложение не должно вызывать откаты во время обновления и должно работать корректно после обновления — это является важнейшим условием беспроблемного обновления.

Проверка переустановкой: убедитесь, что работу функций приложения можно восстановить, переустановив приложение после обновления компьютера до Windows 10 с более ранней версии ОС. Если приложение не прошло проверку обновлением и вам не удалось устранить причину этих проблем, это значит, что, возможно, восстановить работу функций поможет переустановка. Если приложение прошло проверку переустановкой, это свидетельствует о вероятности того, что некоторые части приложения не были перенесены в Windows 10.

Проверка на совместимость с возможностями ОС/устройства: убедитесь, что приложение функционирует корректно, в случае если его работа зависит от определенных возможностей ОС. К стандартным областям/компонентам для проверки относятся следующие (зачастую, при выборе традиционных моделей ПК для обеспечения совместимости):

  • Звук
  • Функции USB-устройств (клавиатура, мышь, флэш-накопитель, внешний жесткий диск и т. д.)
  • Bluetooth
  • Графика/отображение (функции «несколько мониторов», «подключение к проектору», «поворот экрана» и т. д.)
  • Сенсорный экран (ориентация, экранная клавиатура, перо, жесты и т. д.)
  • Сенсорная панель (кнопки влево/вправо, касание, прокрутка и т. д.) \r
  • Перо (однократное/двойное касание, нажатие, удерживание, ластик и т. д.)
  • Печать/сканирование
  • Датчики (акселерометр, комплексные датчики и т. д.)
  • Камера

Шаг 3. Отправьте отзыв

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

Шаг 4. Зарегистрируйтесь для использования Windows 10

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

Связанные разделы

Типы обслуживания Windows 10 для обновлений