Introducción:
En esta lección se
realizará una introducción en la plataforma de desarrollo Windows Presentation
Foundation que ofrece Microsoft con su nuevo producto Windows Vista, y sus
principios básicos de funcionamiento, su arquitectura de componentes y sus
principales características. Además, se describirán las novedades introducidas
en su última versión.
Objetivos:
•
Comprender
qué es Windows Presentation Foundation.
•
Conocer
la estructura de Windows Presentation Foundation.
• Comprender
que es el framework y cómo se programa en XAML.
El
Windows Framework Extension (WinFX) es la siguiente generación del framework de
programación de Windows. WinFX está basado en el Framework .NET 2.0; sin
embargo, incorpora una nueva API de programación compuesta por “Avalon” (ahora
llamado Windows Presentation Foundation) e “Indigo” (ahora conocido como
Windows Communication Foundation). WinFX fue presentado por primera vez al
mundo en el PDC 2003 (Professional Developer’s Conference) en Los Angeles, e
inicialmente ha sido integrado como parte del cliente de Windows “Longhorn”,
ahora ya conocido como Windows Vista. En esta serie de presentaciones se da una
visión global de Windows Presentation Foundation.
¿Qué es XAML?
Windows
Presentation Foundation es el subsistema de presentación unificado de Microsoft
para Windows, expuesto a través de WinFX, modelo de código administrado de
Windows Vista que extiende Microsoft .NET Framework. Windows Presentation
Foundation está compuesto por un motor que saca ventaja del hardware con
gráficos modernos y por un conjunto de clases administradas que los
desarrolladores pueden usar para crear aplicaciones visualmente ricas. También
presenta XAML, que permite que los desarrolladores utilicen un modelo basado en
XML para manipular modelos de objetos.
En Windows Vista, WinFX admite una API con la cual los desarrolladores pueden alojar los controles y formularios de Windows Forms en una aplicación de Windows Presentation Foundation, y viceversa. Cuando un desarrollador crea una aplicación en Windows Presentation Foundation, la mayor parte del código se encuentra escrito e implementado en XAML. XAML es más rápido, más fácil de implementar y de localizar, y significa una elección mejor que cualquier código equivalente. Con XAML, no existen errores de rendimiento, porque es una representación de un modelo de objetos basado en XML.
En Windows Vista, WinFX admite una API con la cual los desarrolladores pueden alojar los controles y formularios de Windows Forms en una aplicación de Windows Presentation Foundation, y viceversa. Cuando un desarrollador crea una aplicación en Windows Presentation Foundation, la mayor parte del código se encuentra escrito e implementado en XAML. XAML es más rápido, más fácil de implementar y de localizar, y significa una elección mejor que cualquier código equivalente. Con XAML, no existen errores de rendimiento, porque es una representación de un modelo de objetos basado en XML.
¿Qué es AERO?
El
término AERO, sigla de Auténtico, Energético, Reflexivo y Open (Abierto),
remite a las guías de experiencia de usuario para Windows Vista, y se encarga
del look and feel del sistema operativo. Estas guías no sólo determinan
el modo en que se dibujan los píxeles, sino también la forma en que el usuario
interactúa con el sistema y evoca sentimientos.
Windows
Presentation Foundation es la nueva generación del sistema gráfico.
Aprovecha
la potencia y la capacidad que hoy en día brindan los sistemas gráficos.
Proporciona
una base para construir aplicaciones y dar al usuario una experiencia de alta
fidelidad en el uso de Windows Vista.
Windows
Presentation Foundation de Microsoft permite construir aplicaciones de alta
fidelidad dentro de Windows Vista, trayendo consigo aplicaciones IU y contenido
multimedia, y aprovechando al máximo la capacidad de la computadora del
usuario. La funcionalidad se extiende en el soporte de “Tablets” y otros
formularios de entrada, un moderno sistema de imágenes e impresión de
“pipelines”, accesibilidad y automatización de la infraestructura de IU, y
manejo y visualización de datos.
La
potencia del hardware 3D, que ya es estándar en las computadoras modernas, es
algo hoy poco utilizado; solamente los juegos y algunas aplicaciones especiales
de negocios la emplean. Windows Presentation Foundation define un conjunto de
estas avanzadas capacidades como plataforma para construir aplicaciones con una
experiencia de usuario mejorada.
Windows
Presentation Foundation es la nueva generación del subsistema que define un
rango de servicios de salida: interfaz de usuario, dibujos 2D y 3D e imágenes,
una nueva representación de documentos, y servicios de audio y video. De este
modo, abastece una sola base de marco de trabajo en el manejo de todos estos
servicios. Windows Presentation Foundation hace posible construir una
experiencia de usuario mejorada que hasta ahora era difícil o imposible. Para
los desarrolladores .NET, el marco de trabajo es familiar, y reducirán un gran
número de líneas de código de animación.
• Los desarrolladores podrán proporcionar una
experiencia de usuario más rica y precisa para sus propias aplicaciones.
• Se podrán aprovechar nuevas funciones visuales, por
ejemplo, AERO.
• XAML y WPF separan los controles según su
funcionalidad y sus habilidades.
Uno
de los objetivos primordiales en el desarrollo bajo Windows Presentation
Foundation es la integración. Servicios como las animaciones y DataBinding son
usados exactamente de la misma manera que el manejo que tienen los gráficos 2D
y 3D, los elementos de interfaz de usuario, como botones y TextBox, e incluso
los elementos multimedia.
Los
usuarios finales desean excelentes gráficos, con buenas resoluciones en DPI,
efectos 3D, animaciones, transiciones y fundidos, todo en un entorno simple.
Justamente, Windows Vista ofrece esta nueva generación de gráficos.
Controles
•
Simple
Controls
Controles
simples que no tienen ningún contenido o ítems.
•
Content
Controls
Son
controles que pueden mostrar algún contenido.
•
Items
Controls
Controles
que pueden tener hijos. Cualquier control que tenga alguna colección cae en
esta categoría.
•
Headered
Content Controls
Contienen
dos propiedades: Header (es típicamente usada para poner un identificador) y
Content (es contenido del control).
•
Headered
Items Controls
Contienen
las siguientes propiedades: Header, Item e ItemSource.
Implementación de
estilos
Los
estilos permiten a los diseñadores de aplicaciones, documentos e IU,
estandarizar una apariencia particular de un elemento. Esto se puede realizar,
pero es necesario un fuerte modelo de estilo para poder compartir la
apariencia. WPF provee ese modelo.
Se
puede declarar un estilo de cualquier elemento que derive desde FrameworkElement
o de FrameworkContentElement. La forma más común de declarar un estilo
es haciéndolo dentro del archivo XAML. Si se declara un estilo en el elemento
principal de la aplicación, éste puede ser utilizado en cualquier lugar de la
aplicación.
Un nuevo modelo de aplicación mediante un Objeto
Aplicación
Todas
las aplicaciones que usan Windows Presentation Foundation están asociadas a un
Objeto Aplicación. Este objeto representa a la aplicación frente al sistema, y
permite al sistema comunicarse con la aplicación.
WPF nos introduce en una nueva forma declarativa de
programar, llamada XAML
XAML
es un lenguaje declarativo basado en XML, optimizado para describir
gráficamente interfaces de usuario visuales ricas desde el punto de vista
gráfico, tales como las creadas por medio de Macromedia Flash.
XAML
fue diseñado para soportar las clases y los métodos de la plataforma de
desarrollo .NET que tienen relación con la interacción con el usuario, en
especial, el despliegue en pantalla.
Los paneles son la clase base para todos los elementos
que proporciona WPF en el soporte de layout.
Los
elementos de un panel son componentes que controlan la renderización de los
elementos (tamaño y dimensiones, posición, y el arreglo del contenido de sus
hijos). WPF proporciona un gran número de paneles, como Canvas, DockPanel y
GridPanel, que veremos más adelante.
l WPF ofrece una nueva generación de gráficos.
Ø Efectos 3D.
Ø Animaciones.
Ø Gráficos basados en vectores.
Ø Elementos audiovisuales.
Efectos
3D
La
implementación 3D de Windows Presentation Foundation permite a los
desarrolladores dibujar, transformar y animar gráficos 3D de distintas formas,
usando las mismas habilidades afrontadas por la plataforma de gráficos 2D.
También permite combinar gráficos 2D y 3D para crear controles más atractivos,
y proporcionar complejas ilustraciones de información. Este soporte 3D que nos
otorga Windows Presentation Foundation no tiene todas las características para
el desarrollo de juegos.
Animaciones
Las
animaciones pueden ser un atractivo para una interfaz de usuario. Solamente con
pocas animaciones se pueden crear sorprendentes efectos de animación.
WPF
proporciona todas las herramientas para que este proceso que tan complicado nos
parecía antes sea más fácil de implementar.
Gráficos
basados en vectores
Windows
Presentation Foundation usa gráficos basados en vectores. Éstos, que incluyen
SVG (Scalable Vector Graphics), archivos metafile (.wmf) y las fuentes (que
usamos usualmente para las letras), almacenan la información y la transmiten
como una lista de instrucciones que describen cómo se va a recrear una imagen
usando gráficos primitivos.
Las
aplicaciones en Windows Presentation Foundation están representadas con el
nuevo motor de composición basado en vectores. La aceleración del hardware es
usada por el proceso de representación sobre el DirectX de la placa gráfica de
nuestra computadora, con un software de respaldo para monitores más viejos. El
sistema de coordenadas provee doble precisión y resolución independiente, que
permite soportar resoluciones altas de DPI para las pantallas y se está
utilizando cada vez más frecuentemente.
Document
WPF
provee muchas características para combinar documentos, IU y contenidos
audiovisuales. Los documentos usualmente contienen un flujo de controles e
imágenes, los cuales son difíciles de proporcionar con los controles
tradicionales de Windows.
UI
Los
controles UI permiten una alta interacción con el usuario, pero no se
concentran tanto en el soporte para textos.
Media
Enriquecen
la visión de las presentaciones interactivas, como video, audio y más.
Desktop
Services (servicios de
escritorio)
Provee
un alto rango de servicios que permiten el uso eficiente de las aplicaciones de
escritorio. En especial, con respecto al menú Inicio y la barra de
tareas, hay nuevas características incluidas en la “sidebar”, que permiten a
los usuarios monitorear notificaciones y actividades en tiempo real (como el
tiempo, la batería y actividades online).
Administrador
de ventanas
Maneja
la mayor parte del trabajo duro de la administración de ventanas, como
minimizar, maximizar y mostrar cuadros de diálogo. Las nuevas características
incluyen la navegación basada en páginas y soporte en Extensible Application
Markup Language, XAML.
Controls
Interop Engine
Provee
soporte para controles .NET, HTML y Win32.
Motor
de composición de escritorio
El
motor está basado en vectores.
Animation
and Composition
Provee
un fuerte soporte para una alta representación de vectores gráficos y
estándares como SVG (Scalable Vector Graphics).
Media
Processing
Provee
procesamiento de audio y video, como también nuevos codecs y APIs.
Consiste en dos partes principales:
Ø El motor
• Unifica la manera en que desarrolladores y diseñadores
manejan documentos, material audiovisual e IU.
Ø El marco de programación
• Proporciona soluciones para material audiovisual,
diseño para interfaz de usuario y documentos que van mucho más allá de lo que
los desarrolladores tienen hoy.
El
motor de WPF
El motor de WPF
unifica la manera en que desarrolladores y diseñadores manejan documentos,
material audiovisual e IU, proporcionando un runtime único para experiencias de
navegación, aplicaciones basadas en formularios, gráficos, videos, audio y
documentos. Windows Presentation Foundation se encuentra construido sobre
Microsoft DirectX(r), lo cual libera todo el poder de los gráficos que el
hardware presenta en computadoras modernas, y es posible explotar los futuros
avances en materia de hardware. Por ejemplo, el motor de rendering basado en
vectores de Windows Presentation Foundation permite que las aplicaciones
escalen y aprovechen los monitores de alta definición sin exigir trabajo
suplementario por parte del desarrollador o usuario. De modo similar, usted
también sacará provecho del momento en que Windows Presentation Foundation
detecte una tarjeta de video que soporta la aceleración de hardware.
El framework de Windows Presentation Foundation
El framework de Windows Presentation Foundation
El framework de Windows
Presentation Foundation proporciona soluciones para material audiovisual,
diseño para interfaz de usuario y documentos que van mucho más allá de lo que
los desarrolladores tienen hoy. Creado con criterios de extensibilidad, Windows
Presentation Foundation permite que los desarrolladores creen sus propios
controles sobre el motor de Windows Presentation Foundation “desde el ground
up” o haciendo una subclase con los controles ya existentes de Windows
Presentation Foundation. Son centrales en el framework de Windows Presentation
Foundation los controles para formas, documentos, imágenes, videos,
animaciones, 3D y “paneles” donde ubicar controles y contenido. Estas
cuestiones “primitivas” proporcionan los blocks de construcción para el
desarrollo de la nueva generación de experiencias de usuario.
interesante informacion compañera!
ResponderEliminarMuy bien excelente la informacion
ResponderEliminarGracias compañer@s por sus comentarios, les agradezco mucho :) :)
ResponderEliminarCalidad compañera se mando en su blog¡
ResponderEliminarGracias compañero!! :)
Eliminar