![Page 2: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/2.jpg)
• ComponentOne desde 2008
– Studio for Silverlight
– Desarrollo de los productos para Silverlight y WPF
• Antes
– Generación de UIs
– Model-driven development
– HCI, patrones de UI, etc
Sobre Mi
![Page 3: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/3.jpg)
• Experiencia de Usuario
• Opciones de deployment en Silverlight
• Herramientas que nos pueden ayudar
Agenda
![Page 4: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/4.jpg)
¿Qué es Experiencia de Usuario?
![Page 5: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/5.jpg)
![Page 6: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/6.jpg)
• Prerequisitos no instalados
Mala Experiencia de Usuario
![Page 7: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/7.jpg)
Mala Experiencia de Usuario
![Page 8: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/8.jpg)
¿Qué es Experiencia de Usuario?
useful
desirable
valuable
usable
findable accesible
credible
![Page 9: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/9.jpg)
¿Qué es Experiencia de Usuario?
useful
desirable
valuable
usable
findable accesible
credible
![Page 10: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/10.jpg)
• Tiempo de carga
• Prerequisitos instalado
• Lenguajes
• Manejo de casos inesperados
• Tiempo de respuesta
¿Deployment?
accesible
usable
![Page 11: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/11.jpg)
• Tiempo de carga
• Prerequisitos instalado
• Lenguajes
• Manejo de casos inesperados
• Tiempo de respuesta
¿Deployment?
accesible
usable
![Page 12: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/12.jpg)
• Monolítica
• Mixta
• Pay as you go
Arquitecturas de Deployment
Módulos Funcionales Recursos
Típica aplicaciónSilverlight
Típica aplicaciónWeb
![Page 13: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/13.jpg)
• Por defecto
• 1 XAP (N dlls)
• Simple para desarrollar
• XAP fácilmente se llega a 1-2Mb
Arq. Monolítica
XAP
Libraries
Resoruces
App
![Page 14: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/14.jpg)
• Bajar contenido a demanda– Imagenes y videos para el sitio web
– Usa el caché del browser
Arq. Monolítica
XAP
Libraries
Resoruces
App
![Page 15: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/15.jpg)
Xap Xap
Browser ServerBrowserCaché
Arq. Monolítica
Browser ServerBrowserCaché
![Page 16: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/16.jpg)
• 1 XAP = N zips, 1 zip = N dlls
• Cada dll especifica a qué zip pertence
Assembly Cache
XAP
Zips
Resoruces
App
zip
Zips
Resoruces
App
*
![Page 17: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/17.jpg)
Xap
Zips
Xap
Zips
Browser ServerBrowserCaché
Assembly Cache
Browser ServerBrowserCaché
Xap2
![Page 18: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/18.jpg)
• <1mb… calmar el dolor:– Customizar la experiencia con un “splash screen”
¿Hay más opciones?
• >= 1mb… bisturí :– Bajar partes funcionales a demanda
![Page 19: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/19.jpg)
• Impacta en el desarrollo
– Requiere algún tipo de framework
– Generalmente basado en configuración + reflection
– Permite trabajar en proyectos grandes
• Ejemplos– MEF
– In house (Control Explorer)
Loading On Demand
![Page 20: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/20.jpg)
• ¿Qué incluye una aplicación?– Aplicación (main)
– Librerías específicas de la app
– Librerías reusables de la empresa
– Librerías reusables de terceros
Una opción más
![Page 21: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/21.jpg)
• Descubre dependencias en el codigo y el Xaml
• Elimina clases no usadas
XapOptimizer
![Page 22: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/22.jpg)
• Permite customizar el “prunning” (reflection)
• Guarda proyectos
• Se integra al proceso de build
• Ofuscación
• V2: cubre más escenarios– Detecta contenido que puede pasarse al sitio web
– Mejora splash screen
– Convierte un xap en muchos xaps (inyecta lógica de carga a demanda)
XapOptimizer Pro
![Page 23: [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)](https://reader033.vdocuments.net/reader033/viewer/2022052400/559c69cc1a28abba5f8b4730/html5/thumbnails/23.jpg)
Preguntas
Leo Vernazza
ComponentOne
twitter.com/leovernazza
twitter.com/ComponentOne
ComponentOne.com
twitter.com/XapOptimizer