2012-03-01 2 views
6

Я хотел бы уточнить некоторые моменты, касающиеся WinRT и где .NET подходит по отношению к нему. Ниже приведен набор утверждений, которые я считаю, чтобы быть правдой ... поправьте меня, где я не прав:Уточнения WinRT и .NET

  1. WinRT является отдельным COM подвергаются родной объектно-ориентированное API, написанный на C++, которая сама по себе не построен на вершине старый C на базе Win32: он совершенно отдельный.
  2. WinRT по крайней мере теперь может ТОЛЬКО использоваться для части Metro в Windows 8 и что Win32 НЕ МОЖЕТ использоваться для приложений Metro. Приложение в Win8 будет либо настольным, либо Metro, и приложение не может использовать оба API. Это одно или другое.
  3. Традиционный настольный/серверный .NET (построенный на Win32) будет продолжаться как обычно, но есть НОВАЯ вырезанная .NET Framework (например, Compact Framework/клиентский профиль или Silverlight), построенный на базе WinRT для использования в Metro Мир. Вот как C# и VB.NET будут работать в мире WinRT: это НЕ та же платформа .NET, что и для настольного компьютера. Пользовательский интерфейс выполняется с использованием производного XAML.
  4. Приложения Metro также могут быть созданы с использованием родного C++, снова используя XAML для пользовательского интерфейса. Как насчет C++/CLI? А как насчет других менее популярных языков .NET?
  5. Приложения Metro также могут быть созданы с использованием HTML5/CSS3/Javascript. Я полагаю, система Metro имеет новый механизм рендеринга и выполнения, созданный для запуска этих приложений: я понимаю, что они не могут быть выполнены в браузере, таком как IE, поэтому это приложения, а не веб-страницы.
  6. Metro IE не запускает плагины, поэтому в мире Metro нет Silverlight.
  7. Устройства на базе ARM будут запускать только Win8 в режиме Metro.
+0

7. частично неверно: http://arstechnica.com/microsoft/news/2012/02/windows-8-on-arm-the -desktop-is-there-sos-office-but-not-much-more.ars (Рабочий стол будет технически доступен, но только для Microsoft.) – millimoose

ответ

6
  1. Почти сразу, внутренне WinRT до сих пор используют некоторые Win32 вызовы, но некоторые API вызовы являются новыми и написаны с нуля.

  2. WinRT может использоваться только в Metro, но подмножество вызовов Win32 по-прежнему доступно в метро.

  3. Правда. Часть XAML теперь использует реализацию WinRT.

  4. C++/CLI не поддерживается в Metro. На данный момент это только C#/VB.Net на Metro.

  5. Правда.

  6. Исправить.

  7. Нет, хотя у ARM будет рабочий стол, он ограничен MS Office, IE и Explorer.

EDIT

Обновление на основе комментариев ниже.

  1. Подмножество WinRT API, которое может использоваться с рабочего стола.

  2. Механизм рендеринга и Javscript те же, что и в IE 10.Но само приложение не будет выполняться отдельно в Internet Explorer

+0

Для второго вопроса я не думаю, что @iaimtomibehave верен. Если вы посмотрите сообщение блога Джеффа Рихтера http://www.wintellect.com/CS/blogs/jeffreyr/archive/2011/09/20/using-the-windows-runtime-from-a-non-metro-application. aspx вы увидите, что только визуальная студия блокирует использование WinRT из приложений .NET. – btlog

+0

Интересно. Что будет в реальном мире использовать что-то подобное? – MrLane

+0

5 на самом деле «ложь» - приложения HTML5/CSS/Javascript используют движок рендеринга Trident и движок JavaScript Jakrak. Это тот же механизм рендеринга и JS, который используется интернет-исследователем. @btlog: Существует подмножество API-интерфейсов winrt, которые можно вызывать с рабочего стола, я не знаю, почему они не могли быть вызваны из C# –

Смежные вопросы