Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Construyendo RIA con Silverlight 2

1,947 views

Published on

Aprende a construir RIA con SL2

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Construyendo RIA con Silverlight 2

  1. 1. Construyendo RIAs (Rich Internet Applications) con Microsoft Silverlight 2 Christian Strevel Director de Servicios de Consultoría http://team.intellekt.ws/blogs/chris/ [email_address]
  2. 2. Objetivos de la sesión <ul><li>Aprender a crear Aplicaciones Ricas de Internet (RIA) con Silverlight que accedan datos. </li></ul><ul><li>Demostrar como ha evolucionado la plataforma y como podemos hacer uso de estas tecnologías para mejorar nuestros desarrollos. </li></ul><ul><li>Aprender como podemos vincular datos a aplicaciones reales de Silverlight y como podemos apalancar lo que conocemos hoy. </li></ul>
  3. 3. Requisitos de la sesión <ul><li>Conocer algo de C# es deseable. </li></ul><ul><li>Habilidades intermedias de XML. </li></ul><ul><li>Habilidades intermedias de Javascript. </li></ul><ul><li>Conocimientos básicos de Visual Studio. </li></ul>
  4. 4. Roadmap <ul><li>Visual Studio 2008 Service Pack 1 </li></ul><ul><ul><li>http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E </li></ul></ul><ul><li>Silverlight Tools for VS 2008 SP1 </li></ul><ul><ul><li>http://www.microsoft.com/downloads/details.aspx?FamilyId=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&displaylang=en </li></ul></ul><ul><li>Expression Blend V2 SP1 </li></ul><ul><ul><li>http://www.microsoft.com/expression/try-it/Default.aspx?filter=servicepacks </li></ul></ul>
  5. 5. Agenda <ul><li>Vista General </li></ul><ul><li>Iniciando con Silverlight </li></ul><ul><li>Construyendo una aplicación </li></ul><ul><ul><li>XML </li></ul></ul><ul><ul><li>Controles </li></ul></ul><ul><ul><li>DataBinding </li></ul></ul><ul><li>DeepZoom </li></ul><ul><li>Preguntas </li></ul>
  6. 6. Características de SL 2 <ul><li>Soporte a .NET* </li></ul><ul><ul><li>C# y VB.NET </li></ul></ul><ul><li>LINQ* </li></ul><ul><li>XML APIs* </li></ul><ul><li>Generics* </li></ul><ul><li>Integración con HTML * </li></ul><ul><li>Almacenamiento local* </li></ul><ul><li>Crypto APIs (AES)* </li></ul><ul><li>Threading* </li></ul><ul><li>Accesibilidad mediante UIA* </li></ul><ul><li>2D, Gráficas </li></ul><ul><li>Audio, Video </li></ul><ul><li>Animaciones </li></ul><ul><li>Texto, Entrada de Texto * </li></ul><ul><li>Controles* </li></ul><ul><li>Layouts* </li></ul><ul><li>Estilos/Plantillas* </li></ul><ul><li>Data Binding* </li></ul><ul><li>Networking </li></ul><ul><ul><li>HTTP/S y Sockets* </li></ul></ul>
  7. 7. Librerías de SL 2 <ul><li>Lenguajes dinámicos* </li></ul><ul><ul><li>JScript </li></ul></ul><ul><ul><li>IronRuby </li></ul></ul><ul><ul><li>IronPython </li></ul></ul><ul><li>Controles adicionales* </li></ul><ul><li>LINQ for XML* </li></ul><ul><li>Serialización de XML * </li></ul><ul><li>APIs de Sindicación (RSS)* </li></ul>
  8. 8. Controles de terceros y personalizados <ul><li>El modelo de programación de .NET nos permite un nivel alto de reusabilidad y componentización dentro de Silverlight </li></ul><ul><ul><li>Podemos construir elementos XAML y controles </li></ul></ul><ul><ul><li>Podemos añadir características de WPF como propiedades adjuntas y extender características de los controles existentes </li></ul></ul><ul><li>Podemos comprar controles de terceros con la aplicación para mejorar o crear nuevos escenarios de desarrollo. </li></ul>
  9. 9. Controles de terceros Presentando los controles de Infragistics
  10. 10. ¡Hola Mundo! Un clásico no puede ser abandonado…
  11. 11. Construyendo una aplicación
  12. 12. Construyendo una aplicación <ul><li>1. Obteniendo los datos </li></ul><ul><ul><li>Datos que provienen del sitio de origen </li></ul></ul><ul><ul><li>Datos que provienen de otro dominio (x-domain) </li></ul></ul><ul><ul><li>Datos que provienen de datos locales </li></ul></ul>
  13. 13. Silverlight en caja de arena <ul><li>Silverlight vive en la caja de arena del navegador (sandbox) </li></ul><ul><li>Los desarrolladores no pueden extender la caja de arena (sandbox) </li></ul><ul><li>Silverlight se extiende de una manera segura </li></ul><ul><ul><li>Almacenamiento local (aislado) </li></ul></ul><ul><ul><ul><li>Parecido a los cookies </li></ul></ul></ul><ul><ul><li>Diálogo de abrir archivo </li></ul></ul><ul><ul><li>Sockets </li></ul></ul><ul><ul><li>Peticiones de x-domain vía HTTP/S </li></ul></ul><ul><ul><ul><li>Silverlight soporta un sub-conjunto de políticas de Flash </li></ul></ul></ul>
  14. 14. Construyendo una aplicación <ul><li>1. Obteniendo datos </li></ul><ul><ul><li>Obteniendo los datos desde http://catalogo.video.msn.com </li></ul></ul><ul><ul><li>Se aseguran mediante un archivo de políticas de Silverlight. </li></ul></ul>
  15. 15. Obteniendo datos Creamos una aplicación que obtiene los datos y los muestra
  16. 16. Construyendo una aplicación <ul><li>1. Obteniendo datos </li></ul><ul><li>2. Convertir los datos XML a objetos de .NET </li></ul><ul><ul><li>LINQ to XML </li></ul></ul><ul><ul><li>XMLReader </li></ul></ul><ul><ul><li>Serialización XML </li></ul></ul>
  17. 17. Convirtiendo XML a objetos Para poderlos consumir desde SL
  18. 18. Construyendo una aplicación <ul><li>1. Obteniendo datos </li></ul><ul><li>2. Convertir los datos XML a objetos de .NET </li></ul><ul><li>3. Creando la vista maestra </li></ul>
  19. 19. Controles de SL 2 <ul><li>Canvas </li></ul><ul><li>FileOpenDialog </li></ul><ul><li>Grid </li></ul><ul><li>Image </li></ul><ul><li>ItemsControl </li></ul><ul><li>MediaElement </li></ul><ul><li>MultiScaleImage </li></ul><ul><li>StackPanel </li></ul><ul><li>TextBox </li></ul><ul><li>TextBlock </li></ul><ul><li>Button </li></ul><ul><li>Popup </li></ul><ul><li>CheckBox </li></ul><ul><li>ListBox </li></ul><ul><li>RadioButton </li></ul><ul><li>Slider </li></ul><ul><li>ToggleButton </li></ul><ul><li>Tooltip </li></ul><ul><li>Hyperlink </li></ul><ul><li>Calendar* </li></ul><ul><li>DataGrid* </li></ul><ul><li>DateTimePicker* </li></ul><ul><li>GridSplitter* </li></ul>Visor de controles http://silverlight.net/samples/sl2/silverlightcontrols/run/default.html
  20. 20. Layout
  21. 21. DataBinding
  22. 22. DataBinding con plantillas de datos <ul><li>Plantilla de datos: </li></ul><ul><li>Objeto de .NET: </li></ul><ul><ul><li>files[] { {FileName=“Html.html”, FileImageUrl=“html.jpg”}, </li></ul></ul><ul><ul><li>{FileName=“Image.jpg”, FileImageUrl=“jpg.jpg”} } </li></ul></ul>Usando ItemsControl (List Control)
  23. 23. Construyendo la vista maestra Usando databinding, layout y plantillas
  24. 24. Construyendo una aplicación <ul><li>1. Obteniendo datos </li></ul><ul><li>2. Convertir los datos XML a objetos de .NET </li></ul><ul><li>3. Creando la vista maestra </li></ul><ul><li>4. Creando la vista de detalles </li></ul><ul><ul><li>Haciendo un control reutilizable </li></ul></ul><ul><li>5. Añadir búsquedas y animaciones </li></ul>
  25. 25. Ultimos toques Terminando la aplicación
  26. 26. Image Deep Zoom <ul><li>Herramienta de procesamiento nos dá imágenes de 256 x 256 </li></ul><ul><li>Genera “pirámides” de imágenes en menores resoluciones </li></ul>
  27. 27. Deep Zoom? <ul><li>Cuando la imagen esta en el cliente se muestran las imagenes de menor resolución </li></ul><ul><li>Conforme las imagenes de alta resolución son descargadas nos se van “apareciendo” sobre las de baja </li></ul>
  28. 29. Recursos Relacionados <ul><li>Blog de Christian Strevel </li></ul><ul><li>http://team.intellekt.ws/blogs/chris/ </li></ul><ul><li>Sitio de Comunidad </li></ul><ul><li>http://gunet.com.mx </li></ul><ul><li>Silverlight </li></ul><ul><li>http://silverlight.net </li></ul><ul><li>ASP.NET AJAX </li></ul><ul><li>http://www.asp.net </li></ul>
  29. 31. © 2008 Microsoft Corporation. Todos los derechos reservados. Microsoft, Windows, Windows Vista y otros nombres de producto son y pueden ser marcas registradas y registros en Estados Unidos y en otros países. La información contenida en el presente es sólo para fines informativos y representa la visión actual de Microsoft Corporation a la fecha de esta presentación. Debido a que Microsoft debe responder a las cambiantes condiciones del mercado, no se debe interpretar como un compromiso por parte de Microsoft, y Microsoft no puede garantizar la precisión de ninguna información provista después de la fecha de esta presentación. MICROSOFT NO OFRECE GARANTÍA ALGUNA, EXPRESA, IMPLÍCITA O DE LEY, RESPECTO A LA INFORMACIÓN EN ESTA PRESENTACIÓN.

×