WinRT и встроенные приложения Windows 8

Можно ли создавать приложения Windows, отличные от Metro (например, Explorer), с помощью нового WinRT или они должны по-прежнему основываться на Win32?


person Dmitry Sychov    schedule 19.09.2011    source источник
comment
Я думаю, что это очень по теме, так как я задавался вопросом о том же.   -  person jondavidjohn    schedule 19.09.2011
comment
Зачем переписывать миллион строк уже работающего кода?   -  person Gabe    schedule 19.09.2011
comment
может быть, чтобы уточнить, вы спрашиваете, можно ли создавать приложения Windows, отличные от Metro, с помощью нового WinRT?   -  person jondavidjohn    schedule 19.09.2011
comment
@Gabe working очень субъективен в этой теме... ;)   -  person jondavidjohn    schedule 19.09.2011
comment
@jondavidjohn: Отличное предложение. Я исправил вопрос.   -  person Gabe    schedule 19.09.2011
comment
@jon Я не буду комментировать, является ли этот вопрос не по теме. Но тот факт, что вы задавались вопросом о том же, не делает это темой для SO.   -  person David Heffernan    schedule 19.09.2011
comment
конечно, замените «как» в моем комментарии запятой. Я просто не уверен, как это не связано с кодом, количественно и не субъективно.   -  person jondavidjohn    schedule 19.09.2011
comment
Хотя я согласен с тем, что общая идея актуальна, я думаю, что ее можно было бы задать немного лучше. Я бы больше стремился к чему-то вроде: Какие (если есть) ограничения WinRT налагает на приложения?   -  person Jerry Coffin    schedule 19.09.2011
comment
Включает ли это службы и серверные приложения (например, автоматически запускаемые приложения AppFabric), работающие в Windows Server 8? Все они могут получить доступ к API «Desktop»? Вот что подразумевается под «не-Metro» вместо «Desktop»?   -  person yzorg    schedule 09.07.2012


Ответы (2)


Я спросил об этом во время сеанса «Спросите экспертов» на //Build/. Ответ был «Да, в разумных пределах. Не все API-интерфейсы WinRT будут работать при вызове из настольных приложений — например, любые приложения для городских сетей не будут работать. Нет явного списка того, какие из них работают из настольных (не городских) приложений. "

Изменить: похоже, что ссылка документация была обновлена, чтобы предоставить список API-интерфейсов WinRT, доступных на рабочем столе.

person Jon    schedule 19.09.2011
comment
Материалы, связанные с пользовательским интерфейсом (Windows.UI.Xaml), определенно не будут работать. - person Pavel Minaev; 20.09.2011
comment
Я не удивлюсь, обнаружив WinRT как оболочку над системными вызовами — вряд ли я увижу, что MS поддерживает 2 набора API-интерфейсов уровня ядра. - person Dmitry Sychov; 20.09.2011
comment
Было совершенно ясно, что WinRT и Win32 используют одни и те же основные внутренние компоненты системы, но WinRT не построен на Win32. - person Jon; 20.09.2011
comment
Если не будет доступа к HDC, такие приложения на основе WinRT будут отличаться от устаревших настольных приложений на основе GDI, по крайней мере, рендерингом шрифтов, который может быть весьма заметным и чувствительным. Мой вопрос по этой теме: stackoverflow.com/ вопросы/7487080/ - person Dmitry Sychov; 20.09.2011
comment
@Jon: на самом деле кажется, что WinRT действительно является оболочкой Win32. См.: getwired.com /20.09.2011/ - person Dmitry Sychov; 20.09.2011
comment
@DmitrySychov Я прочитал статью и несколько ссылок, на которые она ссылается. Сообщение, которое я получаю от них, состоит в том, что Win32 не умер, что существенно отличается от того, что WinRT является оболочкой Win32. Я вижу некоторые заявления о том, что WinRT в целом является оболочкой для explorer.exe в основной статье, что, откровенно говоря, немного странно. - person Jon; 20.09.2011
comment
Некоторые API-интерфейсы среды выполнения Windows представляют собой тонкие оболочки существующих API-интерфейсов Win32 (например, XML и API-интерфейсы датчиков). Некоторые API-интерфейсы среды выполнения Windows являются совершенно новыми (API-интерфейсы XAML и входной стек). Поэтому неверно говорить, что среда выполнения Windows является оболочкой Win32, но верно то, что части среды выполнения Windows наслаиваются поверх Win32. - person ReinstateMonica Larry Osterman; 24.09.2011
comment
@Larry - Спасибо за авторитетный ответ. Думаю, я упустил некоторые нюансы, когда был в //Build/ - person Jon; 25.09.2011
comment
@Jon: Ваш первоначальный ответ просто прекрасен (на самом деле он точен). Я просто уточнял, что Win32 не мертвый аспект. - person ReinstateMonica Larry Osterman; 26.09.2011
comment
Они когда-нибудь публиковали этот список? - person Cody C; 18.04.2012
comment
@CodyC Попробуйте конец эта страница. - person Jon; 18.04.2012

Из "Центр разработки — стиль Metro приложения"

Записка, опубликованная модератором в четверг, 3 ноября 2011 г., 1:16

Мы получили ряд запросов в этой области. Документация будет расширяться по мере развития проекта Windows 8, чтобы включать больше конкретных деталей API. Можно использовать WinRT из настольных приложений. API WinRT могут быть привязаны к приложениям в стиле Metro, настольным приложениям или потенциально доступны для обоих. В документации будет указано, в каких средах (на рабочем столе, в стиле Metro или в обеих) работает данный API. Примечание: Пользовательские компоненты WinRT поддерживаются только в приложениях в стиле Metro. Они не поддерживаются в настольных приложениях.

person Michael Olesen    schedule 18.02.2012