2010-11-10 22 views
6

Estoy pensando que Silverlight 4.0 sería una buena opción para desarrollar nuestra aplicación comercial.¿Le tomará demasiado tiempo a Silverlight cargar mi aplicación comercial?

Sin embargo, la única parte que temo es la carga. Si lo entiendo correctamente, Silverlight compila TODAS las páginas en un archivo binario, que se carga en el cliente en el momento de la carga. Ahora está bien con solo unas pocas páginas, pero si alcanzo cientos de páginas, ¿este tiempo de carga será extremadamente largo? Cuando miro ejemplos en Infragistics y Telerik, tardan unos 10-15 segundos en cargar solo esos pocos ejemplos. Encuentro esto inaceptable.

¿Hay formas de evitar esto?

Respuesta

0

En primer lugar - lo que es probable que inflar el tamaño de la XAP son dlls y los activos importados de sus propias (imágenes grandes, etc.). Entonces, si tiene un sitio relativamente homogéneo, basado en el mismo aspecto/plantillas, agregar nuevas páginas no aumentará mucho el tamaño general, ya que los componentes necesarios ya están en el xap y las adiciones consistirán principalmente en texto.

Por supuesto, si las nuevas páginas tienen controles de funcionalidad/uso o componentes que requieren dlls adicionales para ser incluidos, eso pesará, pero cuando hablamos de , una aplicación que podría crecer a cientos de páginas , Supongo que serán algo coherentes.

También puede hacer que la aplicación Silverlight cargue contenido de forma dinámica cuando sea necesario. Si puede separar contenidos y/o descriptores de contenido/activos del código, debería ver si es posible almacenarlos en una base de datos u otro repositorio y buscarlos solo cuando sea necesario.

También es posible cargar otros xaps dinámicamente en tiempo de ejecución, lo que le permite tener una carga xap ligera inicialmente, y luego incorporar los otros según demanda y distribuir el tiempo de carga en función de lo que requiera el usuario La sesión".

4

Sí, de hecho es un problema. Pero los binarios (los archivos xap, que en realidad son solo un zip de los dlls) se sirven a través de HTTP estándar, por lo que se pueden almacenar en caché (como configurables a través de su servidor web). Por lo tanto, la primera descarga puede llevar 15 segundos, pero todas las cargas posteriores no deberían tener básicamente tiempo de descarga (a menos que se publique una actualización).

Además, los ejemplos de Telerik tienen todos sus dlls referenciados, y puede eliminar los que no necesita en su propio proyecto para reducir el tamaño total.

Existen varios productos y técnicas para agregar compresión adicional a sus xaps (ya que se acaba de archivos zip en realidad)

http://www.google.com/search?q=silverlight+xap+compactor.....

Creo Telerik ofrece una de estas herramientas también.

Por último, en 4.0, puede configurar ciertos dlls del sistema para que se carguen a demanda en lugar de por adelantado, lo que puede mejorar el tiempo de descarga (pero no lo he usado personalmente) - está en las propiedades del proyecto.

+0

En cuanto a la herramienta Telerik: supongo que está hablando del Minificador de ensamblaje Telerik.Estaba mirando eso hace un momento, intrigado por el nombre, pero creo que solo "miniaturizará" las bibliotecas de Telerik. Al igual que cuando utilizas una biblioteca de control de Telerik, minimizará esa biblioteca para que contenga solo los controles (Telerik) que usaste en realidad en tu aplicación, en lugar de ser un minificador dll genérico que haría algo similar a cualquier dll incluido en el xap. – d7samurai

+0

Sí, ese es en el que estaba pensando ... se olvidó de eso. También hay otro producto que recuerdo ver ... ah, aquí está: http://www.componentone.com/SuperProducts/XAPOptimizer/ – Jeff

Cuestiones relacionadas