2012-03-01 20 views
6

Me gustaría aclarar algunos puntos sobre WinRT y donde .NET encaja en relación con él. El siguiente es un conjunto de instrucciones que creo que es cierto ... me corrija donde estoy equivocada:WinRT y .NET aclaración (es)

  1. WinRT es un COM API independiente expuesto Orientada a Objetos nativa escrito en C++ que no es ella misma construye encima de el viejo Win32 basado en C: está totalmente separado.
  2. WinRT al menos ahora SÓLO se puede utilizar para la parte Metro de Windows 8 y ese Win32 NO PUEDE ser utilizado para aplicaciones Metro. Una aplicación en Win8 será de escritorio o Metro y una aplicación no puede usar ambas API. Es una u otra.
  3. El escritorio/servidor tradicional .NET (basado en Win32) continuará como siempre, pero hay un NUEVO .NET Framework reducido (como el perfil Compact Framework/client o Silverlight) construido en WinRT para su uso en el Metro mundo. Así es como C# y VB.NET se ejecutarán en el mundo WinRT: NO es el mismo .NET framework instalado para el escritorio/servidor. La interfaz de usuario se hace usando un derivado de XAML.
  4. Las aplicaciones de Metro también se pueden crear usando C++ nativo, una vez más usando XAML para la interfaz de usuario. ¿Qué hay de C++/CLI? ¿Qué pasa con otros lenguajes .NET menos populares que existen?
  5. Las aplicaciones Metro también se pueden crear utilizando HTML5/CSS3/Javascript. Considero que el sistema Metro tiene un nuevo motor de renderizado y ejecución creado para ejecutar estas aplicaciones: mi entendimiento es que estas no se pueden ejecutar en un navegador como IE, por lo que son aplicaciones, no páginas web.
  6. Metro IE no ejecutará complementos, por lo que no hay Silverlight en el mundo Metro.
  7. Los dispositivos basados ​​en ARM SOLO ejecutarán Win8 en modo Metro.
+0

7. Está parcialmente mal: http://arstechnica.com/microsoft/news/2012/02/windows-8-on-arm-the -desktop-is-there-sos-office-but-not-much-more.ars (El escritorio estará técnicamente disponible, pero solo para Microsoft.) – millimoose

Respuesta

6
  1. Casi derecha, internamente WinRT sigue utilizan algún llamadas de Win32 pero algunas llamadas a la API son nuevos y escrito desde cero.

  2. WinRT solo se puede usar en Metro, pero el subconjunto de llamadas Win32 todavía está disponible en el metro.

  3. Es cierto. La parte XAML ahora usa la implementación de WinRT.

  4. C++/CLI no es compatible con Metro. Por ahora solo es C#/VB.Net en Metro.

  5. Es cierto.

  6. Correcto.

  7. No, aunque ARM tendrá una computadora de escritorio, está limitado a MS Office, IE y Explorer.

EDITAR

Actualizando basado en los comentarios a continuación.

  1. Un subconjunto de WinRT API que se puede utilizar desde el escritorio.

  2. La representación y el motor Javscript son los mismos que los utilizados en IE 10.Pero la aplicación en sí misma no se podrá ejecutar por separado dentro de Internet Explorer

+0

Para la pregunta dos, no creo que @iaimtomibehave sea correcto. Si revisa la publicación de blog de Jeff Richter http://www.wintellect.com/CS/blogs/jeffreyr/archive/2011/09/20/using-the-windows-runtime-from-a-non-metro-application. aspx verá que es solo el estudio visual el que está bloqueando el uso de WinRT desde las aplicaciones .NET. – btlog

+0

Interesante. Pero, ¿cuál sería el uso del mundo real de algo como esto? – MrLane

+0

5 es en realidad "falso": las aplicaciones HTML5/CSS/Javascript usan el motor de representación Trident y el motor de JavaScript de Chakra. Es el mismo motor de renderizado y JS utilizado por Internet Explorer. @btlog: hay un subconjunto de winrt API que se puede llamar desde el escritorio, no sé por qué no se pudieron llamar desde C# –