probar - habilitar silverlight
¿Cómo debería diseñar mi aplicación Silverlight? (2)
Hasta ahora he estado creando aplicaciones Silverlight con toda la lógica procesada en un solo archivo xap. Pero a medida que la aplicación aumenta de tamaño, creo seriamente que debería romper mi aplicación de Silverlight en múltiples aplicaciones independientes más pequeñas.
Me gustaría saber cómo otros resuelven este problema de tamaño creciente?
Si está buscando realizar algunos cambios en su aplicación, refabricando y dividiendo partes, considere todo esto.
Los controles personalizados obtienen su propio ensamblaje de control
Definitivamente crea conjuntos de control para cualquier control personalizado que desarrolles. No solo obtiene el beneficio de controles autónomos, y el uso opcional en sus proyectos actuales y futuros, puede
- aprovechar los estilos de control predeterminados
- utilizar la función de ensamblado en caché con ellos
- compartir componentes con otros proyectos
- invierta en su código y controles principales, en lugar de invertir en la limpieza de la lógica de la aplicación (si está usando análisis estático o de estilo, por ejemplo): pase su tiempo donde tendrá el mayor impacto
Considere cargar dinámicamente conjuntos nuevos
Hay algunos métodos disponibles para cargar de forma dinámica código adicional en el dominio de su aplicación, puede ser posible extraer partes menos utilizadas de su aplicación y usar esto para cargar esos componentes. Esta es una aplicación más compleja e involucrada, pero puede mejorar el rendimiento de inicio.
Llevará tiempo dividir el código en otros conjuntos cuando busque una aplicación grande, y probarla puede ser un desafío. Pero puede terminar con "subpáginas" y partes de su aplicación cargadas solo según sea necesario.
Tomarse el tiempo para diseñar un sistema para cargar nuevas funcionalidades y partes de su aplicación, y diseñar este marco, puede tomar tiempo para hacerlo bien. Normalmente, esto es mediante el uso de AssemblyPart para cargar un nuevo ensamblaje en el que pueda reflejar y crear instancias de objetos nuevos.
Diccionarios de recursos fusionados
Los diccionarios de recursos pueden permitirle almacenar estilos, plantillas de control y otros recursos fuera de las páginas y fuera de su App.xaml.
Conjuntos en caché
Una vez que se mude a Silverlight 3, puede usar la función de ensamblajes en caché para almacenar ensamblajes individuales fuera de .Xap, junto con, en su servidor, y como un extra, esos ensamblajes se almacenarán en caché en la máquina durante bastante tiempo.
Una dieta de recursos
¿Realmente está utilizando todos sus recursos gráficos, XAML, controles, recursos de cadena, etc., que están almacenados dentro de su archivo XAP? Audítelo de vez en cuando y asegúrese de obtener el máximo rendimiento de su byte.
Una pantalla de bienvenida
Si simplemente está tratando de mejorar el rendimiento (tiempo de descarga) de su aplicación inicialmente, considere crear una pantalla de presentación. Los ejemplos de Silverlight Toolkit tienen uno: es una página simple de Silverlight que se cargará y mostrará mientras se descargue su .Xap.
Gráficos remotos
En lugar de incluir recursos de imagen directamente dentro de su aplicación / XAP, mueva sus imágenes a su CDN o servidor, para que puedan cargarse solo según sea necesario. Esto es a menudo una victoria agradable y rápida.
Simplifica tu aplicación
Asegúrese de que realmente necesita que sea XAML-pesado, gráfico-pesado, etc. ¡Tal vez se puede simplificar!
Debe distribuir sus módulos de Silverlight usando marcos PRISM o MEF.
Visita http://mef.codeplex.com/