versiones sobre microsoft historia gratis descargar caracteristicas windows-8 windows-7 windows-runtime microsoft-metro

windows-8 - sobre - windows 8.1 descargar



¿Hay alguna forma de escribir una aplicación WinRt(Metro) que también funcione en Windows 7 y Vista? (5)

No podemos simplemente dejar a nuestros clientes que no pueden actualizar a Windows 8 durante mucho tiempo en el alerce. Sin embargo, existe la demanda de una versión "tableta" / "táctil" de nuestra aplicación.

Entonces, ¿cómo podemos admitir el contacto tanto con Metro en Windows 8 como con nuestros clientes actuales desde una única base de código?

Cuando salió WPF, después de un montón de "Empujar" Microsoft vio y hacer que funcione en Windows XP, se ha hablado de algo como esto para WinRT.

(No espero que ninguna solución funcione en XP, ya que el soporte de XP se está reduciendo).

Vea también: ¿La versión ARM de Windows 8 solo puede ejecutar aplicaciones de estilo Metro (WinRt)?


Es poco probable que veamos a Microsoft empujar el marco de la aplicación estilo Metro de nuevo a versiones anteriores debido al nivel de re-arquitectura que se realizó en Windows 8.

Estoy de acuerdo con Zac en este punto . Parece que Microsoft definitivamente está impulsando la tecnología y la facilidad de uso con la introducción de Windows 8 (y Windows Runtime).

La interfaz de usuario de Metro es un paradigma de interfaz de usuario diferente. Si usa los controles actuales de Win32 (que incluyen los controles de WPF), su aplicación se verá muy fechada en Metro. La única forma de solucionarlo es volver a implementar la interfaz de usuario (sus clases de visualización en un diseño de MVVM) utilizando los controles de Metro. Sin embargo, C # y la mayoría de las API de .NET son ciudadanos de primera clase en este nuevo entorno. El resto de su aplicación debe estar bien.

Como ya tiene lo que supongo que una aplicación bastante grande, su mejor solución sería separar su vista de su modelo de modelo de vista . Luego, puede continuar desarrollando tanto las increíbles interfaces de Windows 8 Metro con pantalla táctil y la interfaz de ventana "clásica" (lo que hemos hecho durante los últimos x años). Con una buena separación, diseño y una excelente solución de control de código fuente ( es decir, Perforce ), podrá compartir gran parte del código base.

Además de las respuestas a su pregunta reciente sobre Windows Runtime, Bill Wagner (uno de los muchos bloggers de C # que sigo) ha publicado un resumen sobre WinRT y las sesiones de conferencia de idiomas administrados ; Es una buena lectura y recomendable si tienes unos minutos. Una de las cosas que aclaró su resumen (en las Preguntas frecuentes al final) fue que el futuro de .NET como marca para el marco que usamos será reemplazado por Windows Runtime .

Otra pieza del blog de Bill :

Algunas de las API de .NET están cambiando para WinRT. No tengo una lista exhaustiva, y no estoy seguro de que haya una todavía. Otras API no están expuestas a través de WinRT. (Todavía están disponibles como API de .net, pero no como API de Metro / WinRT).


Como han dicho otros, no querría tener exactamente la misma aplicación trabajando en Win8 Metro y Win7 / Vista Desktop. Si estructura su aplicación correctamente, utilizando un patrón de diseño adecuado, es posible compartir un poco de código entre las distintas versiones que necesita. Para la versión Win8, utilizará WinRT, para Win7 / Vista puede elegir entre Silverlight o WPF.

He publicado un par de artículos que demuestran cómo se puede hacer esto, también incluyen un poco de código:


Es poco probable que veamos a Microsoft empujar el marco de la aplicación estilo Metro de nuevo a versiones anteriores debido al nivel de re-arquitectura que se realizó en Windows 8.

Como dijo Pavel, si evitó que su aplicación utilizara la mayor cantidad posible de bibliotecas WinRT, es posible, pero nuevamente, ahora está creando una aplicación web normal.


La única forma en que puedo pensar es implementar su aplicación en HTML5 / CSS3 / JS, y evitar usar las API de WinRT en la medida de lo posible; esto puede ser factible dependiendo de lo que, exactamente, debe hacer su aplicación (por ejemplo, los gráficos 2D portátiles son fáciles con lienzo HTML5).

Luego, para Win8, empaquetará esto como aplicación web de Metro. Para Win7 y versiones anteriores, escribe una aplicación simple que incrusta su navegador de elección (no IE9, ya que no funciona en XP, por lo tanto, Firefox o Chrome) con todo Chrome oculto, y carga su aplicación HTML5 dentro de ese navegador integrado.


La mejor respuesta es que no desea que la misma aplicación se ejecute en Windows 7 y Windows 8 Metro Style. La interfaz de usuario que funciona mejor para el mouse y los teclados (Windows 7) no funcionará bien para una presentación de toque primero y viceversa. Es importante volver a imaginar la interfaz de usuario para los dos mundos diferentes.

Dicho esto, tienes 2 opciones si quieres compartir gran parte del código: 1) Escríbelo en gran parte en JavaScript / HTML5. Esto le permitirá reutilizar muchos de los activos (especialmente las partes de lógica de negocios). 2) Escríbelo en (escritorio) Silverlight. El Silverlight XAML es el más cercano a Windows XAML. WPF está más lejos y será necesario volver a trabajar más tarde.

En cualquier caso, debe observar y seguir los principios utilizados al escribir código multiplataforma. Comprender las dependencias de la plataforma y aislarlas detrás de los límites de direccionamiento indirecto. Desea localizar todo el código que tendrá que cambiar. Por ejemplo, no desea llamadas a las API de .Net System.IO.File, las cuales sabe que tendrán que cambiar a llamadas de Windows.System.Storage que están dispersas en todo su código. En su lugar, desea que se localice en una función que se puede modificar más adelante.