2012-09-27 24 views
8

Necesito desarrollar la aplicación de estilo Metro usando C# y XAML que tiene que funcionar en dispositivos Windows RT y sistema operativo Windows 8 completo. Así que estoy autorizado a usar solo WinRT sin ningún ensamblado de .NET Framework. He leído esta preguntaWindows RT yC#

Microsoft Surface Tablet: Writing Apps for Both Devices?

y este post muy útil: http://blogs.msdn.com/b/jasonz/archive/2012/06/12/what-you-need-to-know-about-developing-for-windows-on-arm-woa.aspx, pero yo stil tienen pregunta: Cuando i incluso crear un proyecto de aplicación de estilo de Metro en blanco Tengo asseblies .NET para el estilo de metro. ¿Tengo que eliminarlos por mi cuenta o hago algo mal? ¿Y qué debería hacer si necesito usar algo como Prism fw portado a WinRT o mvvvm light? ¿Me permiten desarrollar una aplicación para WOA solo en WinRT nativo? Estos momentos no están claros para mí.

¿Puede explicarme cuál es la diferencia entre Windows RT y Windows en ARM ¿Debo utilizar solo WinRT (sin .net) para desarrollar para el sistema operativo WindowsRT?

Espero que me puedas ayudar.

Respuesta

14

Déjame responderte de la manera más directa que pueda. Si abre un proyecto de Windows Store XAML/C# en blanco. Ese proyecto se ejecutará en Windows RT (ARM) y Windows 8 (x86/x64). Eso es porque está construido para lograr esto. Solo porque tenga lo que se siente como .Net Framework, no se preocupe: está escribiendo una aplicación multiplataforma.

Ahora, para las advertencias. Hiciste esta respuesta fácil debido a C#. Los desarrolladores de CPP no tienen la misma garantía porque hay cosas de codificación que pueden hacer para romper esta compatibilidad. No es así en C#. Si el código que escribe compila "Cualquier CPU", entonces lo que digo es correcto.

Si introduce algo (como el control Bing Maps) que requiere que su compilación cambie de "Cualquier CPU" a otra cosa. La Tienda Windows le permitirá enviar tres versiones de su aplicación con el mismo nombre, una para cada plataforma, y ​​el usuario nunca sabrá que hay más de una.

En este último ejemplo, todavía se está apoyando a todas las plataformas, sólo hay que específica tres diferentes construye para lograrlo - el código no puede cambiar en absoluto! En la mayoría de los escenarios, los ayudas a todos fuera de la puerta. Si introduce una biblioteca de terceros, como MVVMlite, todavía está bien si puede construir cualquier CPU. La mayoría de las bibliotecas son geniales así.

+0

Gracias. Exactamente esta es la respuesta que estaba buscando cuando pregunté –

+1

Una cosa más, dado que PINVOKE aún está disponible para desarrolladores administrados en WinRT, aún es posible que los desarrolladores de C# causen la incompatibilidad de ARM, pero tienen que trabajar duro para hacerlo. –

3

No es del todo correcto decir que no se puede usar el .NET Framework en las aplicaciones de estilo Metro. Más correctamente, hay una versión del .NET Framework que solo está disponible para aplicaciones metropolitanas. Si sus ensamblajes no se construyeron con esta versión del framework .net, no funcionarán para metro. Esta versión del framework .net funcionará en .86 y arm. También hay una versión de MVVM Light para aplicaciones metropolitanas. Download it here. Consulte here para obtener detalles sobre el desarrollo del brazo.

Independientemente de si usted está utilizando JavaScript, C++, Visual Basic o C#, si es que se ha construido una aplicación estilo Metro que se dirige a x86/x64 entonces ya sabe cómo construir uno que se dirige a ARM . Utiliza las mismas plantillas de proyecto de estilo Metro , que proporcionan el punto de partida para compilar una aplicación en el .

Editar: Como Jerry señala, puede que tenga que compilar su aplicación contra diferentes versiones de las bibliotecas si están escritas en C++, pero eso es una cuestión de tener separada construye en lugar de tener que hacer el desarrollo adicional.

+0

Gracias por su respuesta. Puede ser que cometí un error cuando escribí "dispositivos de Windows RT (me refiero a WOA)". Sí, puedo usar .NET Framework en el desarrollo de aplicaciones de metro, pero ¿cómo puedo estar seguro de que mi aplicación funcionará en el sistema operativo de Windows RT? No necesito solo la aplicación de estilo metro que funcionará en .86 y ARM con Windows 8. ¿Habrá disponible alguna versión de .NET Framework en el sistema operativo Windows RT? –

+0

No necesito solo la aplicación de estilo metro que funcionará en .86 y ARM con Windows 8 pero Windows RT. –

+0

@Bogdan Dudnik Las aplicaciones modernas son portátiles, funcionará tanto en –

1

Si hace bibliotecas bibliotecas de clase portátiles, puede usarlas para aplicaciones de escritorio, metro y teléfono (y xbox también). Puede elegir esto cuando inicia una biblioteca o en las propiedades del proyecto. Hace que sea más fácil escribir aplicaciones multiplataforma dentro del ecosistema de mircrosoft.

Cuestiones relacionadas