Silverlight 3 disponible y recargado

Este ejemplo lo llevé a cabo con Visual Studio 2008 SP1, Silverlight 3 & Expression Blend 3.
- El primer paso es crear nuestro proyecto de Silverlight … y para esto desde el menu de File seleccionar New Project.
- De las opciones de proyectos o templates de Silverlight … seleccionar Silverlight Application

- Una vez que generemos nuestra solución esta se compondrá de 2 proyectos … La aplicación de Silverlight y el Web.Site asociado a nuestra aplicación … donde se desplegará nuestro componente Silverlight.

- De manera predeteriminada Visual Studio ubica la página de mySilverlight3TestPage.aspx (o en su lugar NombreproyectoTestPage.aspx … según sea el caso) como predeterminada.
- Como siguiente paso abrir el archivo MainPage.xaml y añadir el código que se quiera publicar. Yo en este caso simplemente quiero desplegar un video o Trailer el cual ya tengo generado en formato .WMV. El video tuve que agregarlo como elemento a mi proyecto en el Solution Explorer.

- Para añadir estos 2 elementos: <TextBlock> y <MediaElement> me ayudé de Expression Blend 3. La manera mas sencilla de invocarlo es a través del Solution Explorer .. seleccionando el elemento .. en este caso el mismo MainPage.xaml … dar click en el botón derecho del mouse y seleccionar la opción Open in Expression Blend

- De esta manera puedo añadir los elementos de una manera mas sencilla e intuitiva

- Una vez realizados los cambios en Expression … basta con Guardar las modificaciones y estas se verán reflejadas directamente en Visual Studio.
- Si damos un vistazo al archivo mySilverlight3TestPage.aspx (o en su caso como le hayan llamado) veremos que la manera de invocar el proyecto Silverlight es a través de un objeto tipo x-silverlight (algo muy similar a como se ejecuta un archivo .swf de flash).
- Como parámetros del objeto está el manejador de excepciones … parámetros de ejecución y de versión … el parámetro que valida si el navegador cuenta o no con el plug-in de Silverlight instalado en la máquina o computadora … y el parámetro source que apunta al archivo .XAP en la carpeta o directorio ClientBin

- En este caso tuve que agregar el archivo newmoon.wmv al directorio ClientBin de mi proyecto mySilverlight3.Web … para que pueda ser invocado desde el paquete .XAP … quedando mi solución de la siguiente manera:

- Ahora si damos F5 nuestra aplicación se ejecutará y mostrará vía Web nuestra aplicación Silverlight

Me gustaría detallar que sucede al momento de compilar mi proyecto o como es que termina mi objeto desarrollado Silverlight o archivo .XAML del lado de mi proyecto mySilverlight3.Web. Expression Blend nos permite visualizar como y que sucede.
Al momento de estar generando nuestro objeto en Expression Blend 3 y desde ahí compilamos o damos F5 … lo que les sea más fácil … despliega los siguientes mensajes:

Podemos ver paso a paso el proceso de compilación y generación del archivo .XAP
- Genera el manifiesto
- Genera la .dll del proyecto
- Crea el archivo .XAP
- Empaqueta la .dll y el manifiesto
- Copia el .XAP a nuestro proyecto Web en la carpeta ClientBin
Como podemos ver el archivo .XAP es nuetro proyecto compilado el cual es procesado por el plug-in de Silverlight del lado del navegador. Técnicamente el archivo .XAP es realmente un archivo tipo .ZIP … incluso una vez empaquetado como .XAP lo podemos abrir desde WinZip o Winrar

Por supuesto … esto no me gusta .. porque ? … Simplemente busquen una página que este ejecutando un componente Silverlight … vean el código fuente de la página … ubiquen el archivo .XAP … copien la ruta y pégenla en el URL del navegador mandandola llamar … el explorador solicitará Guardar el archivo … lo guardan en su máquina o computadora … y desde WinZip o Winrar podemos ver el contenido de su proyecto … incluyendo por supuesto la .dll .. y con herramientas de descompactación de .dll´s podemos ver el código fuente.
Conclusión
Silverlight 3 viene con muchas mejoras y muchos agregados que vale la pena utilizarlos … y generar aplicaciones robustas basadas en Silverlight (acceso a datos … consumo de WebService … integración con WCF … Sharepoint … etc .. etc). Por cierto Expression Blend cada vez me gusta más … al principio no estaba muy convencido … y pensaba que se podía desarrollar aplicaciones Silverlight solo con Visual Studio (si claro .. se puede … hasta se puede programar aplicaciones .NET en Notepad) pero Expression facilita muchísimo las cosas.
Aqui les dejo unos cuantos links:
Página oficial de Silverlight
El download de Expression Blend 3 + SketchFlow RC
Silverlight 3 Tools para Visual Studio 2008 SP1. Este ya incluye el runtime y el SDK
Silverlight 3 Toolkit en CodePlex
Les recuerdo que es importante desinstalar versiones previas de Silverlight antes de actualizar a la versión 3.
Anatomía del archivo .XAP
Comentarios Recientes