20. Crear aplicaciones con WPF

La Tecnología para todos - Un pódcast de Luis del Valle Hernández

Categorías:

Ya vamos por el capítulo 20 del podcast. Hoy veremos cómo podemos crear aplicaciones con WPF (Windows Presentation Foundation). Es una tecnología de Microsoft que nos permite crear aplicaciones de escritorio y Silverlight visualmente atractivas.Ya sabéis que hay un formulario a vuestra disposición para que nos mandéis cualquier duda o sugerencia, además está la lista de distribución que os mantendrá informados de todas las novedades tanto del podcast cómo de la web.Pues comencemos con este capítulo que se presenta bastante técnico y es que hay que decir, que hemos dado un pequeño giro al programa. Aunque vamos a continuar hablando de tecnología, eso no lo dudéis, si que vamos a ir hablando cada vez más de todo lo relacionado con la programación en cualquier dispositivo.¿Qué es WPF? Pues es una tecnología de Microsoft que fue presentada como parte del malogrado Windows Vista. Quizás una de las pocas cosas que se salvó :). Nos sirve principalmente para desarrollar aplicaciones de escritorio para Windows. Aunque ya existía otra tecnología que se llama Windows Form, WPF cambió radicalmente la manera de crear aplicaciones. Por un lado coge características de aplicaciones Windows, como lo hace su antecesor Windows Forms, y por otro lado coge características de aplicaciones web, aquí es donde más se ha notado la mejora ya que permite crear la interfaz gráfica a través del XAML, se pueden aplicar estilos como se hace en el entorno web con CSS y aplicar el patrón de arquitectura MVC.Una de las características más potentes dentro de WPF es el tema de gráficos. Debido a que internamente utiliza la API Direct3D, podemos crear aplicaciones muy atractivas y con movimientos dinámicos, algo impensable con Windows Form. Nos permite interaccionar con animaciones, vídeo, audio, documentos, aplicar efectos, etc... en las propias aplicaciones.Como un subconjunto dentro de WPF podemos encontrar Silverlight. Es una tecnología 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á teniendo muchos problemas de compatibilidad con Chrome debido a que, éste en su última versión no soporta Silverlight, con el perjuicio que conlleva a las empresas que lo utilizan de manera activa.Cabe destacar la utilización del Data Binding para la comunicación asíncrona entre la vista y el controlador. Esto se hace a través de un elemento que se llama Binder que abre un canal de comunicación 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ón nativa o aplicación 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ño de las pantallas, permitiendo que los diseñadores y desarrolladores del Front-end contribuyan de una manera notable al desarrollo de la interfaz gráfica. 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ño para crear aplicaciones para la Tienda Windows, Windows Phone, WPF y Silverlight. Va acompañado de la versión Communtiy de Visual Studio 2013.A continuación os vamos a pasar una recopilación de los frameworks más utilizados a la hora de crear aplicaciones con WPF:DiseñoMahapps MetroModern UIModern UI (Metro) ChartsMVVMMVVM Light ToolkitPrismAdemás hablamos de qué lenguajes de programación acompañan a WPF C#, Visual Basic y F#. Os dejamos los siguientes enlaces interesantes.TiobeNet Market SharedRecurso del día