Aplicaciones .NET con Windows Presentation Foundation – WPF

Windows Presentation Foundation - WPFAprovechando que durante estas últimas semanas he tenido que desarrollar una aplicación para gestionar y controlar los empleados/usuarios de una compañía por medio de una aplicación desarrollada en .NET, me estreno con esta primera entrada comentando la experiencia y hablando sobre Windows Presentation Foundation (cuyo acrónimo es WPF) .

La propuesta inicial como requerimiento era desarrollar dicho proyecto en .NET por medio de Windows Forms debido a que no se iba a acceder desde varios puntos externos de la empresa  a la aplicación y por tanto descartar una aplicación web. Convencí al responsable del proyecto para realizarla por medio de la clase Window (lo que Microsoft llama “Aplicaciones Independientes”) de WPF y así quedaría visualmente más atractiva mejorando la experiencia de usuario con la aplicación, técnicamente más escalable y similar en uso a los antiguos Windows Forms.

Con  esta forma de desarrollar también conseguimos que el despliegue se pueda efectuar por medio de ficheros MSI o utilizando ClickOnce.

Pero, ¿qué es y para qué sirve Windows Presentation Foundation?

Es una tecnología de Microsoft que permite el desarrollo de interfaces ricas de usuario ofreciéndonos una potencia gráfica con la que es posible desarrollar aplicaciones visualmente muy atractivas. Dicha interfaz se desarrolla por medio del lenguaje declarativo XAML (eXtensible Application Markup Language) separadamente de la lógica de negocio de la aplicación que podemos programarla mediante cualquier lenguaje .NET, ya sea VB o C#. En este proyecto utilicé C#.

WPF se puede utilizar para desarrollar software del siguiente tipo:

  • Aplicaciones independientes, al estilo tradicional de Windows Forms que se instalan en el equipo cliente y se ejecutan desde él. Modalidad que he utilizado para este proyecto.

Ejemplo Windows Presentation Foundation - WPF

Imagen 1

  • Aplicaciones denominadas XAML Browser Applications (XBAPs). Son aplicaciones compuestas de páginas de navegación que se compilan y se alojan en exploradores web como Internet Explorer o Mozilla.

Ejemplo Windows Presentation Foundation - WPF

Imagen 2

Si os dais cuenta, es la misma aplicación pero desplegada en dos entornos diferentes, la Imagen 1 por medio de un ejecutable e igual que se haría con una aplicación Windows Form y en la Imagen 2 la misma aplicación pero desplegada a través de Internet Explorer.

La idea de crear XAML nace porque un diseñador o simplemente la persona que diseñe el interfaz no tiene por qué conocer o desarrollar la lógica de negocio de la aplicación cuya parte la podría realizar otro equipo de trabajo.

El hecho de separar la apariencia y el comportamiento nos aporta un menor coste de programación y mantenimiento al tenerlo todo separado y mayor eficacia al tener la posibilidad de que equipos de trabajo distintos diseñen por un lado y otros programen el comportamiento de la aplicación por otro.

Conclusión

El uso de WPF está enfocado a aplicaciones que hagan uso desde contenido multimedia (videos, audio, texto enriquecido) como para facilitar la creación de aplicaciones empresariales de “tipo escritorio” o aplicaciones web enriquecidas.

WPF nos permite a los desarrolladores reutilizar el código y crear rápidamente versiones web y de cliente de las aplicaciones.

Recomiendo usar WPF sobre Windows Forms porque considero que Microsoft está enfocando está tecnología como la plataforma para el desarrollo de interfaces de última generación a los que aporta una mayor riqueza visual y nuevos componentes.