План Microsoft по отделению платформы разработчика Windows от ОС достигла своей первой важной вехи с выпуск 0.5 SDK Project Reunion. Это первый выпуск, в котором используются элементы управления пользовательским интерфейсом WinUI 3.0, и Microsoft описывает его как «первый раунд проверки нашей работы с клиентами перед выпуском». Это также первый выпуск, позволяет публиковать настольные приложения в пакете MSIX в Windows Store.

Хотя выпуск 0.5 имеет производственную поддержку для подмножества запланированных API и только для одной из намеченных целей разработки, Microsoft призывает разработчиков приступить к портированию приложений на новую платформу. Project Reunion не будет единственным способом получить доступ к Windows API; Windows SDK никуда не денется и будет продолжать развиваться вместе с Windows. Скорее, Project Reunion – это способ найти общую платформу для доступа к этому SDK и к слою пользовательского интерфейса Windows. Предоставляя этот общий уровень, Project Reunion должен дать возможность продвигать старый код, чтобы использовать преимущества функций безопасности Windows 10 вместе с доступом к современному оборудованию и службам.

Еще один аспект Project Reunion – поддержка как можно большего количества различных способов создания кода для Windows. API-интерфейсы будут доступны в WinRT для приложений .NET и как родной C для C ++ / Win32. В настоящее время доступные сборки включают C # для .NET 5 и C ++ с WinRT. Microsoft смотрит в будущее и предлагает сборку Rust / WinRT для разработчиков, экспериментирующих с безопасным для памяти языком. В Rust вкладываются значительные средства, а ранняя поддержка Project Reunion позволит вам быстро освоить современные методы разработки на новом языке.

Project Reunion размещен на GitHub, с инструкциями по установке и ссылками на документацию, а также доступом сообщества к исходному коду.

Понимание MRTCore и DWriteCore

Часть Project Reunion – это новая версия системы управления ресурсами Windows, MRTCore. Это индексирует все ресурсы в пакете во время сборки, добавляя индекс в пакет вашего приложения. Эти индексы предоставляют программный доступ к ресурсам с классом загрузчика для доступа к строковым ресурсам и классом ResourceManager для более подробной информации о ресурсах приложения. Затем вы можете использовать эти инструменты для управления доступом к файлам, связанным с вашим кодом, включая изображения и другие медиаресурсы.

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

Другой рекомендуемый API: DWriteCore, переписанный API DirectWrite с поддержкой всех целевых ОС Project Reunion. Он предназначен для предоставления одних и тех же инструментов макета форматированного текста, и вам не нужно беспокоиться о разных функциях для разных версий. Это изменение по сравнению с тем, как DirectWrite реализовал новые функции, с каждым новым выпуском, добавляющим несовместимость со старыми версиями. Поскольку Project Reunion предназначен не только для поддержки Windows 10, но и для переноса кода в более старые операционные системы, использование DWriteCore для макета текста должно помочь избежать проблем с совместимостью.

Если вы знакомы с DirectWrite, у вас не возникнет проблем с переключением на новые API. Большинство из них остались прежними: DWriteCore добавляет несколько новых API. Некоторые из них представляют собой полифилы, позволяющие обойти межплатформенные ограничения, например новая цель рендеринга глифов для растровых изображений. Другие позволяют ограничить использование только общими шрифтами, избегая риска необходимости доставки новых шрифтов на старые ПК. Хотя это действительно затрудняет использование нестандартных шрифтов, это может сделать ваш код более согласованным с внешним видом Windows и новыми элементами управления WinUI 3.

Воссоединение проекта и WinUI 3

Один из наиболее важных аспектов этого выпуска есть поддержка WinUI 3, с версия, готовая к использованию в производственных приложениях. Хотя существует также предварительная версия WinUI 3 с дополнительными функциями, они не поддерживаются в готовой к производству версии, поэтому любой код, использующий любой из этих API, не будет работать с готовой к производству версией. Это может немного сбить с толку, но это подход, который имеет смысл, и вы должны ожидать, что Microsoft будет придерживаться его в будущем, выпуская производственные и предварительные версии одновременно.

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

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

Это еще не все

В версии 0.5 много чего нет, но дорожная карта проекта показывает, что многое еще впередикак для упакованных приложений MSIX, так и для кода, использующего другие технологии установщика. Следующим крупным выпуском будет 0.8, где-то во втором квартале 2021 года. Поскольку сборка, скорее всего, состоится в мае, для Microsoft наступило логичное время для ее запуска. Релиз 1.0 выйдет в четвертом квартале, вероятно, одновременно с ноябрьской конференцией .NET Conf.

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

Microsoft предполагает, что эти API-интерфейсы включают поддержку ассоциаций файлов, позволяя приложениям с поддержкой Project Reunion запускаться при открытии определенных файлов. Это должно сделать его более привлекательным для популярных настольных приложений, включая Adobe Creative Cloud и собственный Office Microsoft.

Важно отметить, что поддержка 0.5 в настоящее время доступна только для настольных приложений MSIX. Другие технологии упаковки, включая универсальную платформу Windows (UWP), остаются в предварительной версии, а некоторые не получат даже такого уровня доступа до будущих выпусков. Однако все, что входит в объем 1.0, должно поддерживаться выпуском. Планируется выпускать несколько выпусков в год с 2022 года. Быстрый темп выпуска должен помочь Project Reunion догнать (и в конечном итоге обогнать) более зрелые существующие API Windows и позволить ему стать основным путем для вашего кода для работы с Windows в ближайшем будущем.

Microsoft – не единственная компания, предлагающая поддержку Project Reunion 0.5. Поскольку WinUI 3 является ключевым компонентом в этом выпуске, поставщики средств управления, такие как Infragistics и Progress Telerik, имеют готовые к использованию наборы средств управления, в то время как набор инструментов сообщества Windows с открытым исходным кодом работает над обновлением, которое добавляет поддержку Project Reunion. Кросс-платформенные разработчики смогут использовать его с Платформа Uno, как часть инструментария Uno 3.6 для C # и XAML.

Теперь, когда важная веха достигнута, становится ясно, что Microsoft добивается значительного прогресса в Project Reunion. Поскольку в следующем важном этапе в следующем квартале появится больше функций, похоже, что проект должен выпустить релиз в 2021 году. Быстрая реакция команд на отзывы пользователей об элементе управления Pivot показывает, что он прислушивается к своим пользователям, что является хорошим знаком. для платформы, которая предназначена для предоставления того, о чем пользователи просили. А пока приступим к кодированию. Скоро будет больше.

Авторские права © 2021 IDG Communications, Inc.


#Project #Reunion #продвигается #единому #Windows #SDK

Source link