miércoles, 23 de enero de 2013

APRENDER WPF




Con la versión 3.0 de .NET se introdujo WPF. Las herramientas
tradicionales funcionan muy bien si únicamente deseamos construir
aplicaciones que usan una forma con varios controles, pero que no
proveen funcionalidades extra al usuario. Si queremos construir una
interfaz de usuario avanzada, con muchos elementos interactivos, es
necesario recurrir a diferentes tecnologías, como GDI+ y DirectX. El
problema reside en que estas no se encuentran
directamente relacionadas entre sí, lo que complica
el desarrollo de la interfaz.







Microsoft estaba consciente de las limitaciones
del modelo anterior para la creación de interfaces
y de la problemática para poder crear el tipo de
interfaz que requieren las nuevas aplicaciones. Por
esta razón, decidió crear WPF, sigla de Windows
Presentation Foundation. Se trata del framework
que Microsoft está recomendando para las nuevas
aplicaciones tanto de escritorio, Silverlight o para
dispositivos móviles. Con WPF, todo lo que necesitamos para construir
interfaces de usuario avanzadas queda unifi cado dentro de un solo
framework. Con él mismo podemos trabajar con controles, gráfi cas 2D y
3D, video, etc. Una de las ventajas que ofrece WPF es el uso de estilos y
templates en los controles, con lo cual podemos cambiar el aspecto de la
aplicación de modo muy rápido y sencillo.





En WPF se busca llevar a cabo una separación entre la forma en que
luce la aplicación y la lógica empleada para controlar dicha aplicación.
Para lograrlo, se hace uso de XAML. XAML nos permite defi nir la interfaz
de usuario; los programadores que trabajan con aplicaciones web lo
encontrarán muy fácil de utilizar. La interfaz defi nida con XAML es,
entonces, controlada con el framework de WPF mediante cualquiera de
los lenguajes .NET; en nuestro caso, C#.
XAML está basado en XML y es un lenguaje declarativo. Con él
podemos defi nir y especifi car características para clases con una
sintaxis basada en XML. Este nos permite hacer cosas como declarar
variables o defi nir propiedades. No es posible defi nir la lógica del
programa con XAML, pero al poder establecer las características
de las clases, lo usamos para defi nir la interfaz de usuario y los
elementos gráfi cos de nuestra aplicación. La lógica se colocará en C#,
y esto es lo que se conoce como code behind.
WPF puede utilizarse para crear diferentes tipos de aplicaciones.
La forma más usual es la creación de aplicaciones para escritorio.
Todas las aplicaciones para desktop que hemos creado con las
herramientas habituales pueden hacerse con WPF, adicionando las
grandes capacidades interactivas de este.



Otro tipo de aplicación es la conocida como XBAP, que corre en
un navegador de Internet. Cuando damos el URI de la aplicación, esta
se descarga en la máquina y se instala. Estas aplicaciones son mucho
más robustas y con mejores interfaces que las páginas tradicionales
de Internet. El navegador funciona, simplemente, como un contenedor,
y lo que se ejecuta es una aplicación WPF dentro de él. El sistema de
navegación del navegador es adoptado por la aplicación.
También es posible crear aplicaciones que se conocen como basadas
en navegación. Son similares a las de desktop, pero corren dentro de
un navegador web y toman sus funcionalidades de navegación. En ellas
creamos varias páginas, dentro de cada una de las cuales tenemos una
sección de la interfaz de la aplicación. Aunque estas aplicaciones lucen
similares a las de la Web, se ejecutan en forma local.






Arquitectura de WPF
Debemos saber que la arquitectura que corresponde a WPF
es sencilla, ya que está constituida por diferentes assemblies.
Estos assemblies pueden ser clasifi cados en tres grupos: la capa
administrada, la capa no administrada y las APIs centrales.
La función de la capa administrada es dar sustento al framework de
WPF y llevar a cabo la comunicación con la capa no administrada. El
assembly más importante de esta capa es PresentationFramework.dll, cuya
función es crear los elementos de alto nivel que usaremos para defi nir
la interfaz de usuario. Estos elementos son los paneles, los controles,
las ventanas, etc. Otro assembly importante es PresentationCore.dll, que
contiene los tipos base más importantes a partir de los cuales se crean
los controles y las fi guras en PresentationFramework.dll; uno de estos tipos
es UIElement. Un tercer assembly que debemos conocer es WindowsBase.
dll, que también contiene elementos importantes, cuya característica es
poder ser utilizados por afuera del ambiente de WPF.

La capa no administrada también es conocida como milcore,
acrónimo para Media Integration Library code. Esta capa se encuentra,
principalmente, en el assembly milcore.dll. WPF utiliza Direct3D para llevar
a cabo todas las funciones de dibujo. Esto lo hace mucho más rápido y
efi ciente en el dibujo de las interfaces que la metodología tradicional.
La capa no administrada se dedica a traducir los objetos de alto nivel
a objetos que puede utilizar directamente. Es el lugar donde se realiza
todo el proceso de renderizado de la interfaz. WindowsCodecs.dll contiene
diversos códecs que son empleados en la parte gráfica ca, especialmente,
aquellos relacionados con gráfica cas vectoriales.
En las APIs centrales tenemos una colección que provee a WPF de
las funcionalidades necesarias para efectuar su trabajo. WPF se apoya
en estas APIs, y eso nos facilita el trabajo. Dentro de ellas tenemos a
Direct3D, usado para la parte baja y de renderizado en WPF; también
es aprovechado gracias a la aceleración por hardware que ofrece. Para
la parte de administración de memoria y de los diversos procesos que
componen la aplicación, se usa User32..








No hay comentarios.:

Publicar un comentario

Es muy importante tu comentarios: