Подтвердить что ты не робот

WinRT и WPF в Windows 8

Как я понимаю, WinRT - это другая версия WPF, написанная без использования базовых API Win32.

Какова связь WinRT и WPF? Будет ли WPF работать под Metro в Windows 7 или запустить классический рабочий стол?

Это не так ясно из Keynote. Если кто-то, у кого установлен Windows 8, может подтвердить его поведение.

Спасибо

4b9b3361

Ответ 1

WinRT является заменой Winapi. Api является родным, очень отличается от WPF, который работает как слой поверх CLR. Это, безусловно, напоминает WPF, что является причиной путаницы. Он принял формат метаданных управляемого кода, заменив старые библиотеки типов. И использует XAML для дизайна пользовательского интерфейса, как и WPF, Silverlight и Windows Phone. Вы все еще можете писать приложения WPF для Windows 8, но ваше приложение не может быть опубликовано через магазин, не будет интегрироваться с рабочим столом Metro и не будет работать на планшетах, основанных на ядре ARM. Независимо от того, что реальная проблема во многом зависит от того, насколько хорошо Metro будет работать на рынке.

Ответ 2

Между WPF и WinRT нет никакой связи, так же как нет никакой связи между Silverlight и WPF. Теперь у нас есть три технологии: WPF, Silverlight и WinRT.

Если вы попытаетесь выполнить WPF-приложение, оно не будет выполняться на Metro, оно будет выполняться только на классическом рабочем столе.

В Visual Studio 2011 у вас есть WPF и Metro как два разных типа приложений, а Xaml для WPF и WinRT не то же самое, Xaml для WinRT почти такой же, как у Silverlight, поскольку множество классов, существующих для WPF, отсутствует в библиотеке WinRT. Но большинство классов, которые существуют для Silverlight, доступны в WinRT.

Ответ 3

Windows Runtime (WinRT) - это альтернативный API, используемый для создания приложений Metro (и позднее серверное приложение).

API-интерфейсы основаны на классе/методе/структуре и отображаются в приложениях .Net metro, приложениях html5/css3/javascript и приложениях метро C/С++.

Реализация является родной.

API-интерфейсы

становятся видимыми через файлы .winmd, которые содержат метаданные, очень похожие на метаданные, имеющиеся в сборках .Net.

API-интерфейсы разработаны для обеспечения безопасности и асинхронности со многими API-интерфейсами, требующими использования async/wait из-за того, что они потенциально могут выполнять более 50 мс.

Он включает в себя подмножество Win32 API и COM apis.

В любом случае... ссылки ссылок помогают... channel9 также имеет некоторые//Построение/видео по теме..

Разработка приложений в стиле Metro  - http://msdn.microsoft.com/en-us/windows/apps/

Win32 и COM для приложений в стиле Metro  - http://msdn.microsoft.com/en-us/library/windows/apps/br205757(v=VS.85).aspx

API для приложений стиля Metro  - http://msdn.microsoft.com/en-us/library/windows/apps/br211369(v=VS.85).aspx

Ответ 4

WinRT - это новая библиотека, в которой вы можете использовать XAML, но не WPF.

WPF в основном использует DirectX для визуального отображения.

Вы можете использовать WinRT с:

  • XAML
    • С#
    • С++
    • VB.NET
  • HTML/JS/CSS

Ответ 5

WinRT - это не управляемый API на основе COM-интерфейсов. Вы используете его, вызывая объекты buit в файлах метаданных .winmd(каталог Windows\System32\WinMedataData).

Все пространства имен начинаются с "Windows.".

Вы можете написать свое приложение Windows 8 с помощью файлов XAML, но это единственная общая точка с WPF.