asp.net silverlight architecture

asp.net - ¿Usar Silverlight para un sitio web completo?



architecture (12)

Necesitamos construir un sitio web de portal de administración para soportar nuestra aplicación cliente / servidor. Como somos una tienda .Net, la forma tradicional más obvia sería hacerlo en ASP.Net. Pero Silverlight 2 saldrá de la versión beta un buen tiempo antes de nuestra fecha de lanzamiento. ¿Deberíamos considerar construir todo el sitio web en Silverlight en su lugar, con un backend WCF de apoyo?

La función principal del portal será: usuarios, grupos y configuración de permisos; configuración de configuraciones de perfil de usuario; carga y descarga de archivos necesarios para admitir la aplicación.

Creo que la razón principal para tomar este enfoque sería que tenemos una buena experiencia con WPF y WCF, pero poca experiencia en ASP.Net. De cualquier manera, tendríamos que aprender ASP.Net o Silverlight, y aprender Silverlight parece una extensión más natural de nuestras habilidades actuales.

¿Hay algún gran no-nos de la experiencia de StackOverflowers? ¿Cuáles son los grandes aspectos positivos?


ASP todo el camino. Solo debe usar Silverlight / flash, etc. cuando el texto no puede hacer lo que usted quiere, por ejemplo, mostrar video.


Definitivamente iré por una aplicación completa de Silverlight, especialmente si tienes buena experiencia de WPF. Podrá reutilizar su conocimiento de WPF, y debería poder recoger Silverlight con bastante rapidez. He estado trabajando con Silverlight desde la Beta 1, y la Beta 2 actual es de calidad sólida. Supongo que es seguro asumir que una versión de RTW está a la vuelta de la esquina.

Pilf tiene algún punto válido, especialmente en torno a la impresión. Para eso, probablemente usaría SQL Reporting Services, u otro marco de trabajo de informes, en el servidor, y luego abriré una nueva ventana con informes imprimibles. Para vincular y marcar los problemas, los problemas no son diferentes de cualquier otra aplicación AJAX. Hice una publicación de blog hoy sobre cómo proporcionar enlaces profundos y navegación hacia atrás en Silverlight.

Silverlight también tiene todos los ganchos necesarios para una gran compatibilidad de accesibilidad, ya que la API de automatización de UI de WPF se incorpora a Silverlight. No sé si los proveedores de lectores de pantalla ya se han puesto al día. El soporte de estilo / plantilla en Silverlight hace que sea fácil proporcionar máscaras de alto contraste para usuarios con discapacidad visual si eso es una preocupación.


Depende de tus objetivos Si el portal de administración es parte de la aplicación y solo se utilizará desde las computadoras donde está instalada su aplicación, existen muchas ventajas de utilizar Silverlight completamente - o incluso WPF.

Pero si puede ver un escenario en el que se utilizará desde una PC aleatoria o por una persona aleatoria, la versión completamente funcional de HTML / Javascript es absolutamente necesaria.

Algunas razones son:

  • La mayoría de las personas no tienen Silverlight y ganarás una buena cantidad de insultos si tienen que descargarlo e instalarlo. Algunas personas que lo tienen instalado lo mantienen inhabilitado (junto con flash e incluso a veces imágenes) para evitar distracciones y acelerar la navegación.
  • Cuando el sitio HTML falla, el usuario obtiene una página de error y vuelve a cargar. Cuando Silverlight falla, puede bloquearse o bloquearse.
  • HTML es lo que se espera, tanto de los usuarios como de los navegadores web: los botones de retroceso y actualización funcionan como deberían, los hipervínculos y formularios funcionan como se esperaba.
  • Internet lento aún es muy común, tanto en áreas remotas como en dispositivos móviles.

He visto sitios web de "Silverlight only" en Microsoft y son bastante impresionantes. Pero, una vez más, los demos estaban allí para explotar todo el potencial de lo que Silverlight puede hacer. En el momento en que necesite algo diferente, puede que no tenga suerte. No veo a Silverlight como Flash, excepto en la forma en que están instalados / vistos. Pero el backend de Flash / ActionScript es realmente malo en comparación con lo que Visual Studio puede ofrecer con .NET

Pregúntese por qué le gustaría usar Silverlight? ¿Efectos de lujo o modelo de programación?


Los comentarios anteriores se han ocupado de la mayoría de las desventajas del uso de Silverlight para un sitio como este y estoy de acuerdo. Si está decidido a desarrollar un estilo de cliente rico y su audiencia es pequeña (solo para administradores), entonces probablemente recomendaría WPF en lugar de Silverlight, ya que actualmente proporciona un conjunto más rico de herramientas y controles.

Si te quedas con ASP.NET has mirado datos dinámicos, es ideal para construir sitios de administración de back-end con poco esfuerzo.


Parece que su problema es que necesita una aplicación de administrador de cliente enriquecido. ¿Por qué no usar clic-una vez?


Recomendaría no construir un sitio puro de Silverlight.

Silverlight sufre de los mismos problemas que Flash: marcadores de página poco intuitivos, problemas con la impresión, problemas de accesibilidad, botones que no funcionan, etc.

Además, requerirá que sus usuarios tengan instalado Silverlight o al menos tengan la capacidad de instalarlo.

En entornos controlados (por ejemplo, en grandes empresas o en la asistencia sanitaria) o en dispositivos móviles, este podría no ser el caso.


Usar un complemento para su sitio web lo hace lento y requiere que el usuario tenga el complemento instalado. Silverlight, por ejemplo, descarta todos los usuarios de Linux. Además, dado que Silverlight es bastante nuevo, no se sabe cuán comprometido estará Microsoft a mantener viva la plataforma si no se recupera pronto.

Me quedaría con el viejo HTML simple con secuencias de comandos del lado del servidor.

Además, para los sitios web públicos: Flash y Silverlight no pueden ser indexados por ningún motor de búsqueda, así que buena suerte con la escritura de toneladas de metadatos si quieres visitantes.


Silverlight es una buena opción para un portal interno, tal como lo sería para un portal público si ya ha evaluado su proyecto y ha decidido seguir adelante con un portal web. Usted es libre de integrar los componentes de Silverlight dentro de una aplicación ASP.NET existente (es decir, el enfoque de "islas de riqueza"), pero si tiene la capacidad de crear un nuevo proyecto desde cero, no descarte una solución completamente Silverlight como válida. elección donde habría elegido un portal ASP.NET tradicional. Silverlight ahora cuenta con RTW, por lo que si esta decisión aún está sobre la mesa, usted sabe que no tendrá que lidiar con los cambios en el futuro.


Sobre el tema de los administradores remotos, otro aficionado declaró que era un argumento a favor de HTML si los administradores tenían una conexión lenta. Yo argumentaría que dependiendo del tipo de información, puede ser más eficiente usar Silverlight. Si tiene una cuadrícula de datos ASP.NET poblada con enlace de datos del lado del servidor, puede descargar una gran cantidad de datos de marcado y de estado de visualización. Incluso si está utilizando una alternativa a DataGrid que es más clara en ViewState, aún tendrá mucho HTML para descargar.

En Silverlight, una vez que se baja el XAP, que probablemente sea más pequeño que el HTML correspondiente, el XAP se almacena en caché, por lo que no debería tener ese costo todas las veces, y solo estará recuperando los datos.

Para otro ejemplo, digamos que tiene un montón de listas desplegables en uno de sus formularios que tienen todos los mismos valores en la lista. En Silverlight, puede obtener estos valores una vez y vincularlos a todos los dorpdowns, en HTML tendrá que repetirlos cada vez.

Esto mejorará con el enlace de datos del lado del cliente en ASP.NET, que sigue un modelo muy similar al de Silverlight y WPF para el enlace de datos.

En general, también creo que necesitaría escribir menos código para la implementación de Silverlight, lo que puede aumentar la productividad y reducir los costos de mantenimiento.


Estoy de acuerdo con lo que todos han dicho hasta ahora y creo que este Diagrama de flujo, que está dirigido a Flash, también se aplica a Silverlight.

Fuente de imagen


Hay algunas desventajas al desarrollar un sitio completamente en Flash / Silverlight, pero si esas desventajas no le importan o no tendrán un impacto, entonces no hay nada que lo detenga. Elija la herramienta que crea que satisfaga sus necesidades de forma más completa. No me desanimaría a crear un sitio exclusivamente en Silverlight basado en los inconvenientes, ya que aporta muchos más aspectos positivos a la experiencia del usuario.