¿Silverlight es adecuado para una IU de producto basada en web de clase empresarial?

8

Nuestro equipo está trabajando actualmente en la construcción de nuestro HIS (Sistema de Información Hospitalaria) de próxima generación, que consta de más de 30 módulos (que actualmente se estiman en 400 meses), posiblemente se alojará en una ubicación central y se podrá acceder a ellos a través de geografías. Por lo tanto, los NFR principales de la interfaz de usuario (requisitos no funcionales) serían

  • Compatibilidad con múltiples navegadores
  • Carga rápida de páginas con GUI enriquecida
  • Capacidad de integración con dispositivos de hardware como escáneres biométricos, lectores biométricos, etc.
  • Facilidad de desarrollo, mantenimiento (incorporando cambios), ciclo de desarrollo más corto
  • Capacidad para abrir múltiples formularios dentro de la misma ventana del navegador (sin abrir ventanas adicionales)

Pros:

  1. La interfaz de usuario sería independiente del navegador , no debemos preocuparnos por garantizar que nuestras páginas web funcionen con IE 7, 8, 9 ++ / Chrome 8, 9, 18 ++ / Mozilla Firefox (actualmente es un gran parte del esfuerzo de desarrollo entra en esta verificación de compatibilidad y reparación)
  2. Posiblemente podríamos hacer que nuestra aplicación sea más modular, a diferencia de una aplicación monolítica de ASP.Net
  3. Uso de almacenamiento aislado en la PC cliente

Cons:

  1. Problemas de pérdida de memoria de Silverlight. Los enfrentamos en algunas muestras que creamos utilizando SL y tenemos el mismo problema en una aplicación XBAP heredada. Los siguientes enlaces, corroboran el miedo. enlace enlace

  2. Microsoft no parece muy interesado en el futuro de SL. Parece que están invirtiendo más en HTML 5. Los futuros lanzamientos de un SL 5 o 6 también son inciertos. enlace enlace enlace

  3. Los módulos HIS se abrirían como múltiples pestañas dentro de la misma ventana del navegador (estamos hablando de un máximo de 8 pestañas abiertas simultáneamente). ¿Qué cantidad de carga pondría en esa instancia del navegador y cómo afectaría eso al problema de pérdida de memoria?

  4. Curva de aprendizaje para desarrolladores de ASP.Net

  5. Otro enlace de pila en SL enlace

Nutral

  1. La compatibilidad con SEO no es una preocupación

¿Mis consultas son?

  1. ¿Usaría SL, sabiendo los pros y contras anteriores (y otros)
  2. En caso de que usemos el patrón MVVM para crear un producto con SL como parte delantera, ¿sería posible reemplazar la interfaz de usuario mañana con otra interfaz de usuario (ASP.Net o algo más)? Mi entendimiento es que el retrabajo sería sustancial. ¿Qué piensa la comunidad?
  3. Hemos pasado un tiempo considerable en el análisis anterior (y en la creación de pruebas de conceptos). ¿Hay un hecho / factor importante que estamos pasando por alto?

No marque esto como un duplicado, ya que se ha realizado mucha investigación y esfuerzo en este ejercicio.

PD: Hemos pasado los últimos 6 meses en la creación del producto utilizando los formularios web de ASP.Net (utilizando el patrón MVP) y ahora estamos viendo un cambio tecnológico debido a las razones anteriores.

    
pregunta Tushax 09.12.2011 - 12:18

4 respuestas

2

Tenemos actualmente este problema. Comenzamos el desarrollo en Silverligth. Es una tecnología de seguridad, pero es probable que se dé por vencida por Microsoft. Así que cambiamos para desarrollar en ASP.NET MVC.

Entonces:

  1. Probablemente no funciona en el metro de Windows 8. No funciona en otro sistema operativo.
  2. Es muy difícil cambiar el Patrón MVVM a otra tecnología. En nuestro caso, cambiar a MVC con HTML 5 cambiar todo el código.
  3. ...

Espero que te pueda ayudar.

    
respondido por el Cedric 09.12.2011 - 12:32
2

Para responder a un par de tus preguntas:

  

Los módulos HIS se abrirían como múltiples pestañas dentro de la misma ventana del navegador (estamos hablando de un máximo de 8 pestañas abiertas simultáneamente). ¿Qué cantidad de carga pondría en esa instancia del navegador y cómo afectaría eso al problema de pérdida de memoria?

¿Por qué necesitas abrir 8 pestañas simultáneamente? Con Silverlight, podría tener una sola pestaña de aplicación y todos los controles / páginas, etc., etiquetados dentro de eso. Esto no pondría mayor presión en la instancia del navegador y no empeoraría el problema de la pérdida de memoria.

  

En caso de que utilicemos el patrón MVVM para crear un producto con SL como parte frontal, ¿sería posible reemplazar la UI mañana con otra UI (ASP.Net o alguna otra cosa)? Mi entendimiento es que el retrabajo sería sustancial. ¿Qué piensa la comunidad?

Prácticamente cualquier tecnología que elija ahora le dará los mismos dolores de cabeza si intenta reemplazar la interfaz de usuario. A menos que usted pueda divorciar totalmente la lógica de la aplicación de la interfaz de usuario, habrá una importante reelaboración. Se tendría el menor dolor si tuviera que convertirlo en una aplicación WPF.

Sin embargo, esta declaración:

  

Capacidad de integración con dispositivos de hardware como escáneres biométricos, lectores biométricos, etc.

me lleva a pensar que el uso de cualquier tecnología basada en la web te causará problemas en esta área. Aquí estoy de acuerdo con Alex : una mejor opción sería escribir una aplicación nativa. El uso de Java le dará cierta interoperabilidad en múltiples plataformas, pero al costo de no usar elementos de la interfaz de usuario nativos.

    
respondido por el ChrisF 09.12.2011 - 15:43
1
  

Capacidad de integración con dispositivos de hardware como escáneres biométricos,   lectores biométricos etc.

Este puede ser difícil y requerirá el modo OutOfBrowser para Silverlight, tendrá que usar COM para que esto funcione, y esto arruinará los requisitos del navegador. COM solo funciona en Internet Explorer.

En mi humilde opinión, el requisito más difícil para la aplicación WEB es trabajar con dispositivos externos. Por lo general, vienen con bibliotecas C, C ++ para trabajar con ellas, y necesitas una forma de interoperar en C, C ++.

No creo que estos requisitos puedan cumplirse con ninguna tecnología WEB, solo si son applets de Java, pero no conozco las capacidades de interoperabilidad de los applets de Java. De cualquier manera, me gustaría pensar en Java, ya sea un applet o una aplicación de escritorio, dependiendo de la capacidad para trabajar con hardware.

    
respondido por el Alex Burtsev 09.12.2011 - 12:29
0

Si JS no te preocupa, me gustaría ir a Html5 + JS todo el camino. No se requiere un complemento externo, el IE antiguo se puede utilizar para razonar con Html5 a través de JS, y también funcionará en dispositivos móviles.

SL como Flash requiere un complemento, no funciona en dispositivos móviles, etc.

Si te gusta el patrón MVVM, puedes combinar Html5 con Knockout.js, una biblioteca JS que usa el patrón MVVM, ya lo usé en un par de proyectos y es increíble.

Entonces, para responder, manténgase alejado de SL o Flash si quiere algo tan compatible y lo más rápido posible.

    
respondido por el Matteo Mosca 09.12.2011 - 12:23

Lea otras preguntas en las etiquetas