135 . Haga el deploy de su aplicación en minutos y en cualquier lenguaje con Bluemix
[Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)
-
Upload
microsoft-argentina-y-uruguay-official-space -
Category
Technology
-
view
219 -
download
0
description
Transcript of [Code Camp 2009] Hora de hacer Deploy en Silverlight (Leo Vernazza)
• 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
• Experiencia de Usuario
• Opciones de deployment en Silverlight
• Herramientas que nos pueden ayudar
Agenda
¿Qué es Experiencia de Usuario?
• Prerequisitos no instalados
Mala Experiencia de Usuario
Mala Experiencia de Usuario
¿Qué es Experiencia de Usuario?
useful
desirable
valuable
usable
findable accesible
credible
¿Qué es Experiencia de Usuario?
useful
desirable
valuable
usable
findable accesible
credible
• Tiempo de carga
• Prerequisitos instalado
• Lenguajes
• Manejo de casos inesperados
• Tiempo de respuesta
¿Deployment?
accesible
usable
• Tiempo de carga
• Prerequisitos instalado
• Lenguajes
• Manejo de casos inesperados
• Tiempo de respuesta
¿Deployment?
accesible
usable
• Monolítica
• Mixta
• Pay as you go
Arquitecturas de Deployment
Módulos Funcionales Recursos
Típica aplicaciónSilverlight
Típica aplicaciónWeb
• Por defecto
• 1 XAP (N dlls)
• Simple para desarrollar
• XAP fácilmente se llega a 1-2Mb
Arq. Monolítica
XAP
Libraries
Resoruces
App
• Bajar contenido a demanda– Imagenes y videos para el sitio web
– Usa el caché del browser
Arq. Monolítica
XAP
Libraries
Resoruces
App
Xap Xap
Browser ServerBrowserCaché
Arq. Monolítica
Browser ServerBrowserCaché
• 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
*
Xap
Zips
Xap
Zips
Browser ServerBrowserCaché
Assembly Cache
Browser ServerBrowserCaché
Xap2
• <1mb… calmar el dolor:– Customizar la experiencia con un “splash screen”
¿Hay más opciones?
• >= 1mb… bisturí :– Bajar partes funcionales a demanda
• 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
• ¿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
• Descubre dependencias en el codigo y el Xaml
• Elimina clases no usadas
XapOptimizer
• 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
Preguntas
Leo Vernazza
ComponentOne
twitter.com/leovernazza
twitter.com/ComponentOne
ComponentOne.com
twitter.com/XapOptimizer