Начинается работа над Metro Firefox – рождение приложения MetroTop


До сих пор программисты работали над двумя типами приложений для Windows 8 – Metro / WinRT и Desktop / Win32. Теперь у нас есть третий тип, нечто среднее между двумя, которые можно назвать приложениями MetroTop, потому что они смешивают две системы.

Этот новый вид приложения MetroTop может использовать API Win32 и пользовательский интерфейс Metro, предоставляемые WinRT. Он действительно находится между двумя фреймворками. Этот тип приложения необходим, потому что он предоставляет единственный разумный способ разрешить браузеру работать под WinRT. Другими словами, Microsoft пришлось создать этот гибрид, чтобы IE10, воплощенный в качестве приложения Metro, имел доступ к Win32 API.

Сейчас Mozilla начинает работу над созданием Metro-версии Firefox, и они тоже должны использовать подход MetroTop для решения этой проблемы.

По словам разработчика Mozilla Брайана Бонди в записи блога:

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

Настольные браузеры с поддержкой стиля Metro имеют доступ к большинству Win32 API и ко всему новому WinRT API.

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

Единственная документация Microsoft по этому поводу гласит:

Настольный браузер с поддержкой стиля Metro. Настольный браузер, который выбирает участие в новом интерфейсе в стиле Metro, когда пользователь выразил предпочтение этому браузеру. Такой браузер может обеспечивать рендеринг HTML5 для веб-страниц и обслуживать запросы HTTP / HTTPS. По определению, такой браузер имеет полный доступ к API Win32 для рендеринга HTML5, включая возможность использовать несколько фоновых процессов, JIT-компиляцию и другие функции, явно связанные с браузером (например, фоновую загрузку файлов). Настольные браузеры обычно работают со средним или низким уровнем целостности.

Также интересны технические детали того, что планирует Mozilla:

Мы будем использовать библиотеку шаблонов C ++ среды выполнения Windows (WRL), которая похожа на C ++ / ATL.

Mozilla, похоже, также рассматривает возможность использования C ++ / CX, который является наиболее прямым способом работы с WinRT, поскольку он создает собственный код и настраивается с помощью новых команд, упрощающих эту задачу. Вместо того, чтобы принимать XAML, команда планирует использовать существующий код XUL и отображать его непосредственно в DirectX, хотя, как именно это сделать, кажется, еще предстоит выяснить.

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


Добавить комментарий