Windows presentation

akwidlplp 317 views 7 slides Jul 20, 2013
Slide 1
Slide 1 of 7
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7

About This Presentation

No description available for this slideshow.


Slide Content

WINDOWS PRESENTATION FOUNDATION

Windows Presentation Foundation  es el subsistema de  Windows  (librerías integradas en el sistema operativo), orientado a unificar los mecanismos de creación y gestión de interfaces de usuario. - Si bien la respuesta a nuestra pregunta inicial, es al menos en apariencia sencilla, vamos a tratar de profundizar en  Windows Presentation Foundation  (en adelante WPF ) para ver las implicaciones reales que conllevan la aparición de éste nuevo subsistema.

¿El por qué de WPF? Como ya se ha anticipado en su definición,  WPF  nace con el propósito de unificar, y es que cuando hablamos de interfaces de usuario nos vienen a la cabeza tres escenarios o entornos muy concretos : Aplicaciones de escritorio. Aplicaciones Web. Aplicaciones para dispositivos móviles.

¿Es lo mismo plantearse una interfaz de usuario para correr en un escritorio  Windows que para correr bajo un navegador  Web ? Es evidente que hace falta muy poca experiencia en la materia para poder contestar a esta pregunta, que por supuesto tiene como respuesta un rotundo NO, al menos hasta hace poco… La nueva filosofía que se nos plantea con herramientas como  WPF  radica en definir los elementos esenciales que deben componer la interfaz de usuario, delegando a un segundo paso la definición del aspecto de los mismos. Tanto los elementos como el aspecto se adaptará de la mejor forma posible al entorno en que se ejecute la aplicación, pero lo importante es que la definición usada será siempre la misma independientemente del escenario empleado.

Ejemplo 1: Pongamos que tenemos que desarrollar una aplicación para mostrar las facturas de un determinado mes. Para ello decido que el elemento de una interfaz de usuario que se adapta mejor a mis necesidades es una tabla ( grid ). Defino la tabla en la aplicación y le asigno una apariencia visual con unos degradados muy resultones. Ejecuto la aplicación en un entorno de escritorio. La tabla luce de maravilla mostrando sus magníficos degradados. Además por lo que parece he usado una tabla estupenda, por que sin escribir una sola línea de código puedo ordenar su contenido por una determinada columna haciendo un simple clic sobre la cabecera de una de ellas. Pero no sólo eso, si juego con la tecla “ shift ” puedo hacer ordenaciones compuestas, o puedo variar el orden de las columnas arrastrando las mismas con el ratón. Fantástico ¿no ?.

Voy a ver ahora que tal corriendo la aplicación bajo un navegador  Web : Pues la verdad es que muy bien también; Es fantástico. El aspecto es muy similar, aunque a simple vista puedo detectar algunos cambios como en la profundidad visual de las celdas, pero no hay duda que me ha conservado esos degradados tan estupendos que he seleccionado. Hago clic sobre una columna y me ordena el contenido de la tabla por dicha columna, ¡esto es perfecto! Aunque… ¡Vaya! No puedo hacer ordenaciones múltiples con la ayuda de la tecla “ shift ”, y ¿por qué no puedo arrastrar columnas? Vaya, no es oro todo lo que reluce… Vale, pese a todo la cosa no va mal, vamos a ver que tal se muestra la aplicación bajo un dispositivo móvil: Efectivamente la tabla sigue estando, ¿pero que se ha hecho de esos degradados tan bonitos? ¿Por qué no puedo ordenar la tabla? En definitiva me doy cuenta de que la interfaz se ha empobrecido enormemente .

NOTA : Evidentemente se trata de un ejemplo orientativo que no pretende profundizar en lo que realmente se puede obtener de un determinado entorno ( AJAX , etc.) ¿Qué trata de plasmar el ejemplo 1? Pues aparte de algo evidente como que el entorno de escritorio hasta la fecha es sin duda el que nos permitirá crear interfaces más ricas y complejas, es que debemos tratar de realizar interfaces usando las mismas herramientas independientemente del entorno o entornos donde pretendamos ejecutar nuestra aplicación. En el ejemplo anterior, mientras que diseñaría un formulario Windows  con una tecnología muy concreta como puede ser  Windows Forms  para la aplicación de escritorio, para ejecutar bajo el navegador  Web , voy a tener que redefinir por completo la interfaz, usando otra tecnología como puede ser  ASP.NET . En resumen, doble trabajo, doble necesidad de conocimientos .
Tags