Разработка приложений для модели "Windows как услуга"
Область применения
- Windows 11
- Windows 10
- Windows 10 Mobile
- Windows 10 IoT Базовая
В сегодняшних условиях, когда ожидания пользователя часто обусловлены конкретными устройствами, полные циклы продукта нужно измерять в месяцах, а не в годах. Кроме того, новые выпуски необходимо делать доступными на постоянной основе и развертывать с минимальным негативным влиянием на пользователей. При разработке Windows 10 корпорация Майкрософт учла эти требования и реализовала инновационный подход к разработке и доставке новых функций продукта, носящий название Windows as a Service (WaaS — Windows как услуга). Ключом к существенному сокращению циклов продукта при сохранении его высокого качества стал инновационный подход к тестированию с ориентацией на сообщество, который корпорация Майкрософт реализовала для Windows 10. Сообщество участников программы предварительной оценки Windows состоит из миллионов пользователей по всему миру. После вступления участников программы предварительной оценки Windows в это сообщество они тестируют множество сборок в течение всего цикла продукта и отправляют отзывы в Майкрософт, используя итеративную методологию, называемую фокус-тестированием.
Сборки, распространяемые в рамках программы предварительной оценки Windows, обеспечивают команду разработчиков Windows полезными данными о том, насколько хорошо работают сборки в условиях реального использования. Кроме того, программа предварительной оценки Windows позволяет Майкрософт проверять сборки в более разнообразных аппаратных, программных и сетевых средах, чем ранее, а также намного быстрее выявлять проблемы. В результате, как считает корпорация Майкрософт, фокус-тестирование с участием сообщества обеспечивает более высокую скорость доставки новых функций продукта пользователям и более высокое качество общедоступного выпуска продукта, чем ранее.
Типы и последовательность выпусков Windows 10 и Windows 11
Хотя корпорация Майкрософт выпускает тестовые сборки для участников программы предварительной оценки Windows, для широкой публики регулярно публикуются два типа выпусков Windows 10 и Windows 11:
Обновления компонентов. На устройства, уже работающие под управлением Windows 10, добавляются новые компоненты и возможности. Так как обновления компонентов содержат всю копию Windows, они также используются для установки Windows 10 на существующих устройствах под управлением Windows 7 или Windows 8.1 и на новых устройствах, где операционная система не установлена. Корпорация Майкрософт планирует публиковать обновления раз в полгода.
Исправления помогают устранить проблемы с системой безопасности и другие серьезные ошибки. Исправления будут предоставляться для улучшения каждой поддерживаемой сейчас функции один или более раз в месяц. Майкрософт продолжит публиковать исправления по вторникам (которые иногда называются днем установки исправлений). Кроме того, Майкрософт может публиковать дополнительные исправления для Windows 10 не в день установки обновлений, а когда это необходимо для пользователей.
В процессе разработки Windows 10 корпорация Майкрософт оптимизировала цикл разработки и выпуска продуктов Windows. Это ускорит доставку нужных пользователям компонентов, функций и возможностей взаимодействия. Кроме того, корпорация Майкрософт создала новые способы доставки и установки обновлений компонентов и исправлений, упрощающих развертывание и текущее обслуживание, расширила базу сотрудников, которым можно выполнять обновление до новейших возможностей Windows, а также снизила совокупную стоимость владения. Поэтому были реализованы новые варианты обслуживания (а именно — Semi-Annual Channel и Long-Term Servicing Channel (LTSC)), которые предоставляют практичные решения для поддержки обновления большего числа устройств в корпоративных средах, чем было возможно ранее.
В следующей таблице представлены различные каналы обслуживания и их основные атрибуты.
Тип обслуживания | Доступность новых обновлений компонентов для установки | Продолжительность обслуживания | Ключевые преимущества | Поддерживаемые выпуски |
---|---|---|---|---|
Semi-Annual Channel (Targeted) | Сразу же после первой публикации корпорацией Майкрософт | 18 месяцев | Делает новые возможности доступными для пользователей как можно скорее | Домашняя, Pro, Windows 10 для образовательных учреждений, Корпоративная, Mobile, IoT Базовая, Windows 10 IoT Базовая Профессиональная (IoT Core Pro) |
Semi-Annual Channel | Приблизительно через 4 месяца после первой публикации корпорацией Майкрософт | 18 месяцев с момента первой публикации | Обеспечивает дополнительное время для проверки новых обновлений компонентов перед развертыванием | Pro, Для образовательных учреждений, Корпоративная, Mobile Корпоративная, IoT Core Pro |
Long-Term Servicing Channel (LTSC) | Сразу же после публикации корпорацией Майкрософт | 10 лет | Делает возможным долгосрочное развертывание некоторых выпусков Windows 10 в малоизменяемых конфигурациях | Корпоративная (LTSB) |
Дополнительные сведения см. в разделе Варианты обслуживании Windows 10/11 для обновлений.
Поддержка приложений в рамках модели "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, чтобы убедиться, что совместимость была дизайном, а не последевало.
Сейчас Windows 10 обладает самыми широкими предварительно встроенными возможностями совместимости по сравнению с остальными версиями ОС. Нам удалось добиться этого благодаря следующему.
- Данные телеметрии приложений. Это помогает нам понять популярность приложений в экосистеме Windows для информирования о проверке совместимости.
- Партнерские отношения с поставщиками программного обеспечения: работайте непосредственно с внешними партнерами, чтобы предоставить им данные и помочь устранить проблемы, с которыми сталкиваются наши пользователи.
- Обзоры проектирования, обнаружение вышестоящей части: партнер с командами функций, чтобы уменьшить количество критических изменений в Windows. Проверка совместимости стала обязательным этапом для групп по разработке функций.
- Обмен данными: более жесткий контроль над изменениями API и улучшенным взаимодействием.
- Цикл тестирования и обратной связи: участники программы предварительной оценки Windows получают тестированные сборки, которые помогают улучшить нашу способность находить проблемы совместимости до выпуска окончательной сборки клиентам. Такая обратная связь не только позволяет нам выявлять ошибки, но и гарантирует, что мы предоставляем нашим пользователям нужные функции.
Рекомендации для обеспечения совместимости приложений
Майкрософт собирает данные диагностики и сведения об использовании, чтобы выявлять и устранять проблемы, совершенствовать продукты и услуги, а также предоставлять персонализированное обслуживание. К сведениям об использовании также относятся данные о приложениях, которые выполняются на компьютерах в экосистеме Windows. В зависимости от того, с чем работают наши пользователи, мы создаем список тестирования этих приложений, устройств и драйверов для их проверки на предмет совместимости с новыми версиями ОС. На сегодняшний день в Windows 10 реализованы самые широкие возможности совместимости по сравнению с остальными версиями ОС и она обладает совместимостью на уровне 90 % с тысячами популярных приложений. Рабочая группа, занимающаяся вопросами совместимости Windows, часто связывается с независимыми поставщиками программных продуктов, сотрудничающими с нами, чтобы сообщить о найденных проблемах. Поэтому мы и наши партнеры можем совместно создавать решения. В идеальном варианте мы хотели бы, чтобы наши общие клиенты могли без труда обновлять Windows без ущерба для возможностей как использующейся операционной системы, так и приложений, от которых зависит производительность или досуг пользователей.
Следующие разделы содержат ряд рекомендаций Майкрософт по обеспечению совместимости ваших приложений c Windows 10.
Проверка версии Windows
Версия ОС была изменена (повышена) вместе с выпуском Windows 10. Это значит, что внутренний номер версии был изменен на 10.0. Как и раньше, мы хотим сделать все возможное для обеспечения совместимости с приложениями и устройствами после изменения номера версии ОС. Для большинства категорий приложений (без зависимостей ядра) изменение не окажет отрицательное влияние на функциональные возможности приложений, и существующие приложения будут и дальше работать нормально в среде Windows 10.
Проявление этого изменения будет зависеть от конкретного приложения. Это означает, что любое приложение, выполняющее непосредственную проверку версии ОС, в ответ на запрос будет получать ответ с указанием более высокого номера версии, что может привести к возникновению одной или нескольких ситуаций, описанных ниже:
- Установщик приложения не сможет установить приложение, и оно может не запуститься.
- Приложения могут работать нестабильно или со сбоями.
- Приложения могут создавать сообщения об ошибках, но продолжать работать в штатном режиме.
Некоторые приложения выполняют проверку номера версии ОС и просто передают пользователям предупреждение. Но есть приложения, работа которых очень сильно зависит от результатов проверки номера версии ОС (в драйверах или в режиме ядра для предотвращения обнаружения номера версии). В этих случаях при обнаружении несовместимой версии приложение запустить не удастся. Поэтому вместо проверки версии мы рекомендуем использовать один из следующих подходов.
- Если приложение зависит от конкретной функции API, убедитесь, что вы используете правильную версию API.
- Убедитесь, что обнаружение изменения выполняется с помощью APISet или другого общедоступного API и номер версии не используется в качестве признака некоторого компонента или исправления. Если есть критические изменения и правильная проверка невозможна, можно достоверно утверждать об обнаружении ошибки.
- Убедитесь, что приложение НЕ ВЫПОЛНЯЕТ проверку версии нестандартными способами, например через реестр, версии файлов, начальные номера версий ПО, в режиме ядра, через драйверы или другим образом. Если приложению необходимо проверить версию, используйте API-интерфейсы GetVersion, которые будут возвращать основной и вспомогательный номера, а также номер сборки.
- Если вы используете API GetVersion , помните, что поведение этого API изменилось с Windows 8.1.
Если у вас есть такие приложения, как антивредоносное ПО или брандмауэры, разбор проблем их совместимости необходимо выполнять по стандартным каналам предоставления обратной связи и через программу предварительной оценки Windows.
Недокументированные API
Ваши приложения не должны вызывать недокументированные API-интерфейсы Windows или зависеть от определенных операций экспорта файлов либо разделов реестра Windows. Это может привести к нарушению работы функций, потере данных и возникновению потенциальных проблем с безопасностью. Если для работы вашего приложения требуется недоступная функция, сообщите об этом по стандартным каналам предоставления обратной связи и через программу предварительной оценки Windows.
Разработка приложений универсальной платформы Windows и приложений Centennial
Мы рекомендуем всем независимым поставщикам приложений Win32 разрабатывать универсальная платформа Windows (UWP) и, в частности, приложения Centennial. По сравнению с использованием традиционных установщиков Win32 разработка таких пакетов приложений обеспечивает весомые преимущества. Приложения UWP также поддерживаются Microsoft Store, чтобы вы могли предоставлять пользователям обновленные версии приложений в автоматическом режиме, снижая расходы на поддержку.
Если ваши типы приложений Win32 не работают с моделью Centennial, мы настоятельно рекомендуем использовать правильный установщик и выполнять его комплексную проверку на работоспособность. Установщик — это первая среда взаимодействия пользователя или клиента с вашим приложением. Поэтому убедитесь, что он работает правильно. Слишком часто он работает некорректно или тестируется недостаточно тщательно и не для всех случаев использования. Комплект сертификации приложений для Windows поможет проверить процедуру установки и удаления приложения Win32, выявить использование недокументированных API-интерфейсов, а также другие распространенные проблемы, связанные с производительностью, перед тем как это сделают пользователи.
Рекомендации
- Используйте установщики, которые работают в среде как 32-, так и 64-разрядных версий Windows.
- Проектируйте установщики с учетом возможности их запуска разными способами (пользователем или в автоматическом режиме).
- Храните все распространяемые компоненты Windows в исходном пакете — в случае перепаковки этих компонентов установщик может быть поврежден.
- Разрабатывайте установщики в соответствии с расписанием — разработчики часто забывают добавлять установщики в состав пакета поставки программного продукта в ходе жизненного цикла разработки ПО.
Оптимизированные стратегии тестирования и фокус-тестирование
ОС Windows, прошедшая фокус-тестирование, это промежуточная версия сборки. Она предоставляется участникам программы предварительной оценки Windows до того, как для конечная сборка станет доступна для массового потребителя. Чем больше участников программы предварительной оценки тестирует возможности этих промежуточных сборок, тем больше обратной отзывов мы получаем относительно качества сборки, совместимости и т. д. Это помогает нам повышать качество окончательных сборок. Вы можете принять участие в этой программе фокус-тестирования, чтобы проверить свои приложения на правильность работы в среде промежуточных сборок ОС. Мы также рекомендуем вам сообщать нам о своих впечатлениях о работе тестируемых сборок, о проблемах, с которыми вы столкнулись и т. д.
Если ваше приложение размещено в Магазине, вы можете выполнять его фокус-тестирование через Магазин. Это значит, что ваше приложение будет доступно для установки участникам программы предварительной оценки Windows. Пользователи смогут установить ваше приложение, и вы получите предварительные отзывы о работе приложения до его выпуска для массового потребителя. В разделах ниже описаны действия, которые необходимо выполнить для проверки совместимости ваших приложений с тестовыми сборками Windows.
Шаг 1. Создание программы предварительной оценки Windows и участие в тестировании
Будучи участником программы предварительной оценки Windows вы сможете определять будущее развития системы Windows — ваши отзывы помогут нам совершенствовать функции и возможности платформы. Это постоянно растущее сообщество, в котором можно взаимодействовать с другими любителями, общаться на форумах, обмениваться мнениями, а также узнавать о предстоящих событиях, доступных только для участников программы предварительной оценки.
Так как вы получите доступ к предварительным сборкам Windows 10, Windows 10 Mobile, а также новейшим пакетам Windows SDK и эмулятору, в вашем распоряжении будут все средства для создания замечательных приложений и изучения новых возможностей универсальной платформы Windows и Microsoft Store.
Также это отличная возможность создавать первоклассное оборудование с помощью предварительных сборок комплектов разработки оборудования, позволяющих разрабатывать универсальные драйверы для Windows. Кроме того, на поддерживаемых платформах разработки для Интернета вещей доступна 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
- Графика\дисплей (мульти-монитор, проекция, поворот экрана и т. д.)
- сенсорный экран (ориентация, экранная клавиатура, перо, жесты и т. д.);
- Сенсорной панели (кнопки слева\вправо, касание, прокрутка и т. д.)
- Перо (одинарный\двойной касание, нажатие, удержание, ластик и т. д.)
- Печать\Сканирование
- датчики (акселерометр, комплексные датчики и т. д.);
- Камера
Шаг 3. Предоставление отзывов
Сообщите нам о том, как работает ваше приложение в тестовых сборках. При обнаружении проблем в работе приложения во время тестирования регистрируйте ошибки на портале для партнеров, если у вас есть к нему доступ, или сообщайте о них представителю Майкрософт. Мы рекомендуем использовать эти сведения, чтобы мы сообща могли сделать взаимодействие с Windows и вашими приложениями удобнее для пользователей.