Primero algunas definiciones para mantener las cosas claras.Control WebBrowser como interfaz de usuario
usuario: una persona viva, utilizando el software
Cliente: Una empresa que está pagando por una versión personalizada de nuestro software para sus usuarios.
Actualmente tenemos algunas aplicaciones que requerirán cambios significativos en la interfaz de usuario según el cliente al que pertenece el usuario. Actualmente tenemos una compilación separada para cada cliente, pero a medida que aumenta el número de clientes, cada vez es más complicado gestionar todos esos lanzamientos por separado.
Mi objetivo es cambiar a un único cliente genérico que se puede personalizar dinámicamente en función de quién inicia sesión. Dado que nuestro software requiere una conexión a Internet de todos modos (utiliza servicios web extensamente) estaba contemplando usar un control WebBrowser en .NET y permitiéndole interactuar (a través de ObjectForScripting) con el hardware requerido en la computadora.
Luego toda la interfaz de usuario está escrita en HTML/JavaScript y almacenada en el servidor, lo que hace que la distribución y el mantenimiento de las nuevas interfaces de usuario sean triviales. El cliente genérico es poco más que un navegador web personalizado que sabe cómo hablar con nuestros dispositivos de hardware y se le puede decir que lo haga a través de JavaScript.
Estoy viendo muchas ventajas en este enfoque y no demasiadas desventajas. ¿Qué me estoy perdiendo? ¿Por qué NO debo ir en esta dirección?
Soportar múltiples versiones de IE no debería ser un problema. No haremos nada muy complicado con el html/css.La mayoría de las páginas serían extremadamente simples y harían poco más que mostrar un formulario. Con solo una corrección en su publicación, PODEMOS detectar si no hay conexión de red y no podemos mostrar el control WebBrowser o podemos pasarle un archivo de cadena/local que contiene el error html. –
Timothy, ¡genial! Me alegra saber que su html/css funciona bien con las versiones relevantes de IE. Tenga en cuenta que las condiciones de falla del navegador que generan páginas de error podrían ser más sutiles. La conectividad puede ser intermitente, el servidor puede estar inactivo, la aplicación puede estar inactiva en el servidor, el servidor puede estar devolviendo errores http 500, el servidor puede estar agotando esporádicamente debido a la carga, etc. Nuevamente, no debería detenerlo, simplemente llamando al número –