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 (actualmente estimados en 400 meses hombre), que posiblemente se alojarán en una ubicación central y se accederá a través de geografías. Por lo tanto, los NFR primarios de IU (requisitos no funcionales) serían
- Compatibilidad con múltiples navegadores
- Páginas de carga rápida con una rica GUI
- Capacidad para integrarse 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
- Posibilidad de abrir múltiples formularios dentro de la misma ventana del navegador (sin iniciar ventanas adicionales)
Pros:
- La interfaz de usuario sería independiente del navegador , no tenemos que preocuparnos de garantizar que nuestras páginas web funcionen con IE 7, 8, 9 ++ / Chrome 8, 9, 18 ++ / Mozilla Firefox (actualmente se dedica mucho esfuerzo de desarrollo a esto comprobación de compatibilidad y fijación)
- Posiblemente podríamos hacer que nuestra aplicación sea más modular, a diferencia de una aplicación monolítica ASP.Net
- Uso de almacenamiento aislado en la PC cliente
Contras:
Problemas de pérdida de memoria de Silverlight. Los enfrentamos en algunas muestras que creamos usando SL y tenemos el mismo problema en una aplicación XBAP heredada. Los siguientes enlaces, corroboran el miedo http://davybrion.com/blog/2010/08/silverlight-getting-worse-when-it-comes-to-memory-leaks/ /programming/5091636 / silverlight-4-memory-leaks
Microsoft no parece muy entusiasmado con el futuro de SL. Parecen estar invirtiendo más en HTML 5. Las versiones futuras de un SL 5 o 6 también son inciertas. http://support.microsoft.com/gp/lifean45 http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834 http: //www.zdnet. com / blog / microsoft / will-there-be-a-silverlight-6-and-does-it-matter / 11180
Los módulos HIS se abrirían como pestañas múltiples dentro de la misma ventana del navegador (estamos hablando de un máximo de 8 pestañas abiertas simultáneamente). ¿Cuánta carga pondría en esa instancia del navegador y cómo afectaría eso al problema de pérdida de memoria?
Curva de aprendizaje para desarrolladores ASP.Net
Otro enlace de Stack en SL /programming/251718/silverlight-wpf-web-app-xbap-or-click-once-pros-and-cons
Neutral
- La compatibilidad con SEO no es una preocupación
Mis consultas son?
- ¿Usaría SL, conociendo los Pros y Contras anteriores (y otros)
- En caso de que usemos el patrón MVVM para construir un producto con SL como front-end, ¿sería posible reemplazar la UI mañana con otra UI (ASP.Net u otra cosa). Tengo entendido que el reproceso sería sustancial. ¿Qué piensa la comunidad?
- Hemos pasado un tiempo considerable en el análisis anterior (y en la creación de pruebas de conceptos). ¿Hay un hecho importante / factor decisivo que estamos pasando por alto?
No marque esto como un duplicado, ya que se ha invertido mucha investigación y esfuerzo en este ejercicio.
PD: Hemos pasado los últimos 6 meses construyendo el producto usando formularios web ASP.Net (usando el patrón MVP) y ahora estamos viendo un cambio tecnológico debido a las razones anteriores.
Respuestas:
Realmente tenemos este problema. Comenzamos el desarrollo en Silverligth. Es una tecnología prety, pero probablemente Microsoft la abandone. Así que cambiamos para desarrollar en ASP.NET MVC.
Entonces :
Espero que pueda ser de ayuda.
fuente
Para responder un par de preguntas:
¿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. con pestañas dentro de eso. Esto no ejercería mayor presión sobre la instancia del navegador y no empeoraría el problema de pérdida de memoria.
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 pueda divorciarse totalmente de la lógica de la aplicación de la interfaz de usuario, habrá una importante reelaboración. Si tuviera que convertirlo en una aplicación WPF, tendría menos problemas.
Sin embargo, esta declaración:
me lleva a pensar que usar cualquier tecnología basada en la web te causará problemas en esta área. Aquí estoy de acuerdo con Alex : una mejor apuesta podría ser escribir una aplicación nativa. El uso de Java le dará cierta interoperabilidad en múltiples plataformas, pero a costa de no usar elementos de la interfaz de usuario nativos.
fuente
Este puede ser difícil y requerirá el modo OutOfBrowser para Silverlight, tendrá que usar COM para que esto funcione, y esto arruinará su requisito de navegador cruzado. 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 necesita una forma de interoperar en C, C ++.
No creo que ninguna tecnología WEB pueda cumplir estos requisitos, solo si los applets de Java, pero no sé acerca de las capacidades de interoperabilidad de los applets de Java. De cualquier manera, pensaría en Java, ya sea applet o aplicación de escritorio, dependiendo de la capacidad de trabajar con hardware.
fuente
Si JS no te concierne, iría Html5 + JS hasta el final. No se requiere un complemento externo, el antiguo IE se puede hacer razonar con Html5 a través de JS, y también funcionará en dispositivos móviles.
SL como Flash requiere un complemento, no funcionará en dispositivos móviles, etc.
Si te gusta el patrón MVVM, puedes unirte a 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 desea algo tan compatible y tan rápido como sea posible.
fuente