20. Crear aplicaciones con WPF

Published: May 25, 2015, 5:32 a.m.

Ya vamos por el cap\xedtulo 20 del podcast. Hoy veremos c\xf3mo podemos crear aplicaciones con WPF (Windows Presentation Foundation). Es una tecnolog\xeda de Microsoft que nos permite crear aplicaciones de escritorio y Silverlight visualmente atractivas.

Ya sab\xe9is que hay un formulario a vuestra disposici\xf3n para que nos mand\xe9is cualquier duda o sugerencia, adem\xe1s est\xe1 la lista de distribuci\xf3n que os mantendr\xe1 informados de todas las novedades tanto del podcast c\xf3mo de la web.

Pues comencemos con este cap\xedtulo que se presenta bastante t\xe9cnico y es que hay que decir, que hemos dado un peque\xf1o giro al programa. Aunque vamos a continuar hablando de tecnolog\xeda, eso no lo dud\xe9is, si que vamos a ir hablando cada vez m\xe1s de todo lo relacionado con la programaci\xf3n en cualquier dispositivo.

\xbfQu\xe9 es WPF? Pues es una tecnolog\xeda de Microsoft que fue presentada como parte del malogrado Windows Vista. Quiz\xe1s una de las pocas cosas que se salv\xf3 :). Nos sirve principalmente para desarrollar aplicaciones de escritorio para Windows. Aunque ya exist\xeda otra tecnolog\xeda que se llama Windows Form, WPF cambi\xf3 radicalmente la manera de crear aplicaciones. Por un lado coge caracter\xedsticas de aplicaciones Windows, como lo hace su antecesor Windows Forms, y por otro lado coge caracter\xedsticas de aplicaciones web, aqu\xed es donde m\xe1s se ha notado la mejora ya que permite crear la interfaz gr\xe1fica a trav\xe9s del XAML, se pueden aplicar estilos como se hace en el entorno web con CSS y aplicar el patr\xf3n de arquitectura MVC.

Una de las caracter\xedsticas m\xe1s potentes dentro de WPF es el tema de gr\xe1ficos. Debido a que internamente utiliza la API Direct3D, podemos crear aplicaciones muy atractivas y con movimientos din\xe1micos, algo impensable con Windows Form. Nos permite interaccionar con animaciones, v\xeddeo, audio, documentos, aplicar efectos, etc... en las propias aplicaciones.

Como un subconjunto dentro de WPF podemos encontrar Silverlight. Es una tecnolog\xeda que se utiliza para web aunque puede ser ejecutado de forma local. Es muy parecido a como trabaja Flash de Adobe. En la actualidad est\xe1 teniendo muchos problemas de compatibilidad con Chrome debido a que, \xe9ste en su \xfaltima versi\xf3n no soporta Silverlight, con el perjuicio que conlleva a las empresas que lo utilizan de manera activa.

Cabe destacar la utilizaci\xf3n del Data Binding para la comunicaci\xf3n as\xedncrona entre la vista y el controlador. Esto se hace a trav\xe9s de un elemento que se llama Binder que abre un canal de comunicaci\xf3n permanente entre las dos capas, que permite actualizar la vista desde el controlador e incluso desde la capa del modelo. Todo esto dota a las aplicaciones de una usabilidad espectacular que en muchos casos no permite distinguir si es una aplicaci\xf3n nativa o aplicaci\xf3n web. En WPF se utiliza una variante del MVC que se llama MVVM (Model View View-Model).

Como ya hemos comentado, WPF utiliza XAML (Lenguaje Extensible de Marcado de Aplicaciones) basado en XML, utilizado para el dise\xf1o de las pantallas, permitiendo que los dise\xf1adores y desarrolladores del Front-end contribuyan de una manera notable al desarrollo de la interfaz gr\xe1fica. Para tal tarea, Microsoft tiene un complemento para el desarrollo de aplicaciones con WPF que se llama Expression Blend. Este IDE, proporciona capacidades avanzadas centradas en el dise\xf1o para crear aplicaciones para la Tienda Windows, Windows Phone, WPF y Silverlight. Va acompa\xf1ado de la versi\xf3n Communtiy de Visual Studio 2013.

A continuaci\xf3n os vamos a pasar una recopilaci\xf3n de los frameworks m\xe1s utilizados a la hora de crear aplicaciones con WPF:

Dise\xf1o
Mahapps Metro
Modern UI
Modern UI (Metro) Charts
MVVM
MVVM Light Toolkit
Prism
Adem\xe1s hablamos de qu\xe9 lenguajes de programaci\xf3n acompa\xf1an a WPF C#, Visual Basic y F#. Os dejamos los siguientes enlaces interesantes.

Tiobe
Net Market Shared
Recurso del d\xeda

Visual Studio Code

Pod\xe9is ver una descripci\xf3n de este recurso en el art\xedculo que escribimos.

Pues hasta aqu\xed el programa de hoy os agradecemos todas las valoraciones que hab\xe9is dejado en iTunes, ivoox y Spreaker nos vemos en el siguiente cap\xedtulo.