martes, 28 de marzo de 2017

Elementos Básicos de Windows Presentation Foundation (WPF)



El presente artículo tiene como objetivo dotar al lector de elementos básicos de la tecnología WPF, como uno de los saltos positivos presentados por Microsoft como parte del malogrado Sistema Operativo Windows Vista.

En general

WPF permite el desarrollo de interfaces de interacción tomando características de aplicaciones Windows y de aplicaciones web. Se incluye con Windows Vista, Windows 7 y Windows Server 2008, también está disponible para Windows XP Service Pack 2 o posterior y Windows Server 2003.

Arquitectura básica

Desde el punto de vista arquitectónico los componentes más importantes son los siguientes:

Entre ellos:
·         PresentationFramework
Contiene todos los controles WPF más otras funcionalidades usables.
·         PresentationCore
API de bajo nivel que  trata directamente  con el  sistema  visual base (2D,  3D, etc)  es una  combinación de wrappers  con  la  capa MilCore  y un  conjunto de características escritas en código manejado. Además se incluye en esta capa la implementación base de los elementos raíz UIElement y ContentElement. 
·         MilCore
Esta  parte  ha  sido  escrita  en  código  no  manejado  para  poder  soportarla integración  con  DirectX.  Es  decir,  todo  lo mostrado  por WPF  es  realizado através del motor de DirectX, por lo que se consigue una gran eficiencia en el renderizado por Software y Hardware.


 Primeros Pasos con WPF
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 impensables con Windows Form. Nos permite interaccionar con animaciones, vídeo, audio, documentos, aplicar efectos, etc… en las propias aplicaciones.
XAML  es  el  acrónimo de  eXtensible Application Markup Language. Xaml  es un  lenguaje  declarativo  basado  en  XML  y  que  esta  optimizado  para representar  interfaces  de  usuario  visualmente  ricas  desde  el  punto  de  vista
gráfico. 
XAML  nace  para  ser  el  nexo  de  unión  entre  desarrolladores  y  diseñadores, facilitando  la  colaboración  entre  ambos  en  aplicaciones  WPF.  Aunque aparezcan  dudas  sobre  por  qué  usar  un  lenguaje  markup,  es  importante entender las posibilidades inherentes en la plataforma WPF.
Cuando  se  decidió  crear  XAML  como  un  lenguaje  markup  para  expresar interfaces,  se  comprobó  la  evolución  de  otros  lenguajes  como HTML,  XUL, SVG,  WordML,  etc  y  como  por  ejemplo  HTML  ha  sido  un  éxito  para representar interfaces de usuario. En definitiva, XAML es un lenguaje al igual que HTML, entendible por un humano y para una máquina.
Sintaxis
Es importante recalcar y tener en cuenta con respecto a la diferencia entre por ejemplo HTML y XAML que en  la especificación de XAML se especifican una serie de reglas que mapean espacios de nombres, tipos, propiedades y eventos de  .NET  con  sus  correspondencias  en  XML.  Es  decir,  podemos  crear  un
elemento con XAML y realizar un elemento equivalente directamente con C#.
Elementos=Objetos
Declarando  un  elemento  XML  mediante  la  sintanxis  XAML  podemos instanciar una clase o estructura Common Language Runtime (CLR). Ha esto se  le  conoce  como  Object  Element  Syntax.  Esta  sintaxis  comienza  con  un menor  que  (<)  y  seguido  del  nombre  de  la  clase  o  estructura  a  inicializar.
Seguidamente  se puden  añadir  sin que  sean obligatorios atributos  separados por  un  espacio  y  en  el  formato:  nombre=”Valor”.  Finalmente  el  elemento  se
puede cerrar con un (/>).
Ejemplo:





Es importante 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 gran usabilidad que en muchos casos no permite distinguir si es una aplicación nativa o aplicación web. En WPF se utiliza una variante del Modelo-Vista-Controlador (MVC) que se llama MVVM (Model View View-Model).
En el trabajo con WPF se destaca la utilización de los siguientes frameworks:


¿Te ha gustado este Post? Compártelo con tus amigos.

No hay comentarios:

Publicar un comentario

IconIconIcon