Conocido antes por su codename “Avalon”.
- Es la nueva generación del subsistema de presentación para Windows.
- Es una forma productiva para aprovechar la interfaz de usuario utilizando medios y documentos para entregar una experiencia al usuario sin precedentes.
Provee a developers y diseñadores gráficos un modelo unificado de programación para construir clientes poderosos e inteligentes para Windows que incorporen UI (User Interface) en 2D y 3D (basado en vectores más que en bitmaps), multimedia y documentos que mejoran la conexión de las aplicaciones con el cliente.El objetivo de Windows Presentation Foundation (WPF) es poder generar estos entornos gráficos de Windows. WPF se incluye en la versión 3.0 del .NET Framework y permite desarrollar aplicaciones ricas en interfaz de usuario, animaciones, características tipo Web, etc. También esta disponible para Windows Vista, Windows XP y Windows Server 2003.
Productividad Diseñador-Desarrollador
1. Si la experiencia del usuario es importante, el diseño es importante.
2. Si el diseño es importante, los diseñadores son importantes.
3. Si los diseñadores son importantes, necesitamos hacer diseñadores de primera clase del proceso del desarrollo de software tradicional.
La forma de interactuar entre desarrolladores y diseñadores ha sido muy problemática. Por lo general, el diseñador usa una herramienta gráfica para crear sus diseños de pantalla utilizando imágenes estáticas que se mostraran en una aplicación específica. Después esas imágenes pasan al desarrollador, quien es el encargado de crear el código fuente necesario para convertirlas en realidad. Sin embargo para un desarrollador, puede ser difícil o incluso imposible implementar esas imágenes que el diseñador dibuja fácilmente. Los desacuerdos pueden hacer que el desarrollador no refleje completamente la visión del diseñador. Es aquí donde se necesita un método de trabajo donde diseñadores y desarrolladores trabajen estrechamente, sin que influya en la calidad de la interfaz.
Microsoft desarrolla WPF, que incluye el Lenguaje de Marcado de Aplicaciones Extensibles (XAML), este lenguaje define elementos XML para especificar exactamente la apariencia de las interfaces de usuario, disponen de atributos, además de incorporarse fácilmente al desarrollo de WinForms.
Diseñadores y desarrolladores trabajan en conjunto.
Como un ejemplo clave estas herramientas facilitaran este tipo de procesos; en el lado del diseñador tenemos Expression y del lado del desarrollador tenemos Visual Studio.

En donde la suite de Microsoft Expression se divide en• Microsoft Expression Graphic Designer.
• Microsoft Expression Interactive Designer.
• Microsoft Expression Web Designer
Con la herramienta como Microsoft Interactive Designer, el diseñador puede definir la apariencia y la manera de interacción con el usuario. Esta herramienta diseñada para las apariencias de interfaces de WPF, genera la interfaz expresada en XAML. Después el desarrollador importa el código XAML generado por la interfaz a Microsoft Visual Studio, en donde la definición de la interfaz se adopta fácilmente, y a continuación el desarrollador escribe el código de la interfaz de aplicación, así como eventos, etc.
Ejemplo en XAML 1 <Canvas
2 xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”
3 xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”>
4 <Button>Hola Mundo =)</Button>
5 </Canvas>
El código XAML es un fichero XML formado por ciertos espacios de nombres establecidos. La potencia de XAML recae en un conjunto de clases administradas, que nos permitirá en tiempo de compilación, convertir el código XAML en una clase parcial que contendrá un código equivalente y que posteriormente será utilizada para crear nuestro objeto.

Este código nos muestra como con una simple inicialización de algunos elementos con un significado específico, somos capaces de resumir en unas pocas líneas de código, lo que en otros lenguajes habría resultado más costoso.XMAL se compone de tipos de elementos contenedores, por ejemplo el “Canvas” el cual representa un panel. En todo documento XAML ya sea implícita o explícitamente, debe existir un elemento de este tipo, ya que lo contenedores son los encargados de controlar la distribución de los distintos controles en pantalla, ejemplo de ellos, Canvas, DockPanel, StackPanel, Grid, WrapPanel.
En esta tecnología nos damos cuenta de la gran flexibilidad al desarrollar una única lógica de aplicación, que podrá ser compartida, tanto por las aplicaciones Web como por las aplicaciones de escritorio. También podemos deducir que la nueva generación de aplicaciones nos proporcionará una experiencia de usuario hasta ahora impresionante, ya que gracias a este nuevo paradigma.
Mas información: http://wpf.netfx3.com
Download Extensions for Visual Studio 2005: Click
Recent Comments