Ventajas de Windows Presentation Foundation


El objetivo de Windows Presentation Foundation (WPF), que se incluye en Microsoft .NET Framework 3.0 (aka WinFX), es proporcionar avances en el entorno de Windows que permitan crear interfaces que incorporen documentos, componentes multimedia, gráficos bidimensionales y tridimensionales, animaciones, características tipo web, etc. Al igual que el resto de los componentes de .NET Framework 3.0, WPF estará disponible para Windows Vista, Windows XP y Windows Server 2003, y su lanzamiento está programado para que se produzca al mismo tiempo que Windows Vista.

Tres aspectos de WPF destacan por su importancia. Son los siguientes:

  1. Una plataforma unificada para interfaces de usuario modernas
  2. La posibilidad para desarrolladores y diseñadores de trabajar conjuntamente
  3. Una tecnología común para interfaces de usuario de Windows y explorador web

Plataforma unificada para interfaces de usuario modernas

La creación de una interfaz de usuario de Windows que incorpore tanto texto como imágnes, video y gráficos 2D y 3D requería el uso de varias tecnologías diferentes:

  Windows
Forms
 PDF  Windows
Media
Player
 GDI+  Direct3D   WPF  
Interfaz gráfica, como formularios y controles x         x
Documentos en pantalla x         x
Documentos de formato fijo   x       x
(XPS)
Imágenes     x     x
Vídeo y audio     x     x
Gráficos bidimensionales       x   x
Gráficos tridimensionales         x x

Al proporcionar una amplia gama de funciones en una sola tecnología, WPF simplifica de forma significativa la creación de interfaces de usuario modernas. Gracias a la unificación en una misma base de todas las tecnologías necesarias para crear interfaces de usuario, WPF puede simplificar enormemente la labor de quienes crean las interfaces. Sólo tendrán que familiarizarse con un único entorno, por lo que WPF puede reducir el costo asociado a la creación y el mantenimiento de aplicaciones. Además, al facilitar la generación de interfaces que incorporan gráficos y vídeo, entre otros elementos, WPF puede mejorar la calidad (y el valor comercial) de la interacción de los usuarios con las aplicaciones de Windows.

WPF GUI
Las interfaces de WPF permiten combinar imágenes, texto, gráficos 2D y 3D, etc.

No obstante, la creación de interfaces de usuario modernas va más allá de la unificación de tecnologías diversas. También consiste en aprovechar las ventajas que ofrecen las tarjetas gráficas modernas. De este modo, WPF puede transferir la mayor carga de trabajo posible a cualquier unidad de procesamiento de gráficos (GPU) disponible en el sistema. Una interfaz moderna tampoco debe verse limitada por las deficiencias de los gráficos de mapa de bits. Por esta razón, WPF usa únicamente gráficos vectoriales, lo que permite que las imágenes se ajusten automáticamente al tamaño y a la resolución de la pantalla en la que se muestran. En lugar de crear gráficos diferentes para la presentación en monitores pequeños y en pantallas grandes, el desarrollador puede dejar que WPF se ocupe de adaptarlos.

Posibilidad para desarrolladores y diseñadores de trabajar conjuntamente

WPF incluye el lenguaje de marcado de aplicaciones extensible (XAML). El lenguaje XAML define elementos XML, como Button, TextBox, Label, entre muchos otros, para especificar exactamente la apariencia de las interfaces de usuario. Cada elemento XAML corresponde a una clase de WPF. A su vez, cada atributo de dicho elemento cuenta con una propiedad o evento correspondiente en la clase. XAML ofrece un método basado en herramientas muy sencillo para describir interfaces de usuario y, de este modo, permite una mejor colaboración entre desarrolladores y diseñadores.

XAML
XAML permite a desarrolladores y diseñadores trabajar juntos.

El trabajo conjunto de diseñadores y desarrolladores reduce los errores de traducción que suelen darse cuando los desarrolladores implementan interfaces a partir de las imágenes creadas por los diseñadores. Además, permite el trabajo en paralelo del personal de estas dos disciplinas. Como resultado, se obtienen iteraciones más rápidas y comentarios más eficaces. Otra ventaja es que ambos entornos usan el mismo sistema de creación, por lo que las aplicaciones de WPF pueden pasar de un entorno de desarrollo a otro sin complicaciones.

Tecnología común para interfaces de usuario de Windows y explorador web

WPF ofrece la posibilidad de utilizar de las mismas tecnologías tanto para interfaces nativas de Windows como para interfaces de explorador web. Así, un desarrollador puede crear una aplicación XAML del explorador (XBAP) con WPF, que se ejecuta en Internet Explorer. De hecho, es posible usar el mismo código para crear una aplicación de WPF independiente y una XBAP.

La descarga de XBAP se lleva a cabo a petición desde un servidor web, por lo que los requisitos de seguridad asociados son más estrictos que en el caso de aplicaciones de Windows independientes. Por consiguiente, las XBAP se ejecutan en un recinto de seguridad proporcionado por la seguridad de acceso a código de .NET Framework.

Por ejemplo, una XBAP implementada desde la zona de Internet no puede:

  • Crear ventanas independientes.
  • Mostrar cuadros de diálogo definidos por la aplicación
  • Mostrar el cuadro de diálogo Guardar iniciado desde la misma XBAP
  • Tener acceso al sistema de archivos más allá de un área limitada de almacenamiento aislado.
  • Actuar como cliente de automatización de interfaz de usuario.
  • Usar WCF. Las aplicaciones de WCF deben disponer de plena confianza, por lo que las XBAP implementadas desde Internet no son compatibles con esta tecnología. En su lugar, pueden hacer uso de los servicios web ASP.NET, conocidos comúnmente como ASMX, para comunicarse con la aplicación web a partir de la cual se realizó la carga
  • Usar cualquier código de interfaz de usuario creado con Windows Forms, Microsoft Foundation Classes (MFC) o mediante llamadas directas a Win32. Aunque las aplicaciones de WPF independientes pueden interoperar con todas estas tecnologías anteriores, ninguna de ellas puede formar parte del entorno de confianza limitada de una XBAP.
  • Usar código no administrado.

Adicionalmente, las XBAP sólo se ejecutan en Windows con la tecnología WPF instalada en el sistema, y únicamente en las versiones de Internet Explorer 6 y 7. No obstante, en lo que respecta a las aplicaciones que cumplen estos requisitos, las aplicaciones de Internet enriquecidas pueden usar ahora la misma base que usan las aplicaciones de Windows independientes.

Las interfaces de usuario constituyen una parte fundamental de la mayoría de las aplicaciones. La creación de interfaces de máxima eficacia puede ofrecer beneficios apreciables a los usuarios y las organizaciones que se sirven de ellas. El objetivo principal de WPF es ayudar a los desarrolladores a convertir estos beneficios potenciales en realidad. Para aquéllos involucrados en la creación o el uso de aplicaciones de Windows, WPF supone una gran noticia.

Fuente, y mayor información en: Introducción a Windows Presentation Foundation de David Chappell, traducido al Español (Castellano) y ubicado en MSDN en Español. El artículo también presenta una introducción a la Tecnología de WPF, ideal para quienes desean iniciarse en el tema.

Acerca de Willy Mejia

Developer, Techie, Human... http://about.me/willyxoft
Esta entrada fue publicada en .NET, WPF. Guarda el enlace permanente.

2 respuestas a Ventajas de Windows Presentation Foundation

  1. Carlos villa dijo:

    tENEMOS UNA APLCACIÒN XBAP Y QUEREMOS PASARLA A WINDOWS PARA NO UTILIZAR EL PRESENTATION HOST QUE DEBO HACER, MIL GRACIAS POR TU CLABORACIÓN.

    • Willy Mejía dijo:

      Si fuese a algo similar como WPF o Silverlight la tendrías relativamente fácil, pero si te refieres a WinForms (que me parece así es) solo queda re-hacer la GUI, pudiendo aprovechar en todo caso solo los componentes “no visuales” que no dependan de XBAP/WPF…

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s