architecture - ¿Cuándo debería crear una aplicación web frente a un cliente grueso?
web-applications thick-client (3)
Cosas que recuerdo de los viejos tiempos malos de implementación de aplicaciones internas que no estaban basadas en la web: siempre había un mínimo de una computadora configurada de manera tan diferente que la actualización no funcionaba. A veces más y el problema era diferente para cada máquina que no funcionaría. Siempre había un usuario que se rehusaba a instalar la actualización hasta que la administración lo obligaba (generalmente varias semanas o meses después). Esto terminó causando problemas en los datos a veces porque no se aplicaron las nuevas reglas de negocios.
Me gustaría escuchar los consejos de otras personas sobre cuándo se debe construir una aplicación web en lugar de construir un cliente grueso.
En los últimos años, he participado en varias discusiones sobre si una aplicación debe ser construida (o una aplicación antigua actualizada) con una interfaz de navegador web. Por lo general, estos eran sistemas internos utilizados dentro de una organización, no productos de envoltura de mercado masivo, y no estaban en la Internet pública. No obstante, no quiero limitar la discusión a este tipo de aplicaciones.
Hay casos obvios en los que una aplicación debe ser una u otra (por ejemplo, ningún software de edición de video basado en web). Por otro lado, las bibliotecas Javascript están haciendo que las experiencias más ricas en el navegador sean menos difíciles de implementar todos los días.
¿Las bibliotecas de Javascript y las avanzadas tecnologías del lado del servidor hacen cosas tales como menús contextuales con el botón derecho del ratón, arrastrar y soltar, etc. factibles en el lado del cliente sin un gran esfuerzo? ¿En qué momento la complejidad adicional de escribir para la web anula los beneficios tales como la facilidad de implementación y la compatibilidad multiplataforma, especialmente si no está tratando de crear el siguiente Desbordamiento de pila, sino que simplemente crea una aplicación interna?
¿El hecho de que una aplicación interna tenga una audiencia limitada y cautiva anula más o menos cualquier preocupación sobre la facilidad de uso mejorada que un cliente grueso puede proporcionar?
Creo que todavía estamos en el punto en que a menos que exista una razón para que sea una aplicación web, debe ser una aplicación local (gruesa). Es obvio cuando debería ser una aplicación web. Una de mis preocupaciones es pensar que debería ser una aplicación web a menos que sea obvio que debería ser local. No creo que estemos en el punto en que las empresas estén dispuestas a hacer que sus empleados dependan de aplicaciones web fuera de su control. Cuando se trata de aplicaciones internas para una empresa, creo que el movimiento de los datos, la seguridad y la implementación / actualizaciones son los factores clave a la hora de decidir.
Un par de razones clave para que una aplicación esté en la web.
- La aplicación y los datos deben seguirte sin importar en qué computadora estés.
- Los datos deben centralizarse y la cantidad de datos que debe transferirse al cliente es razonable.
Algunas razones para usar aplicaciones gruesas:
- Utilidades que trabajan en recursos locales.
- Aplicaciones que hacen un montón de procesamiento de datos por única vez.
- Aplicaciones donde se necesita acceder a los datos cuando están desconectados de la red.
Voy a la aplicación web cuando no quiero:
- Apoyar mil entornos cada uno con sus propios caprichos. Específicamente, virus, troyanos, software que interfieren y hacen que funcione igual en todas partes.
- Preocuparse por aplicar actualizaciones y tomar muchas llamadas
- tratar con clientes que pierden sus datos
Escojo un cliente grueso cuando el cálculo es intensivo por transacción, o hay una transferencia de datos significativa por transacción.
Me gusta solucionar los problemas de todos con una actualización. Puede que no sea para todos, pero es donde aumenta la calidad de mi vida y la de aquellos para quienes trabajo. Hacer que una aplicación web funcione en algunos navegadores diferentes puede ser más fácil que una tonelada de diferentes sistemas operativos en diferentes condiciones.
Con la llegada de Flex / Air, puede proporcionar una experiencia de aplicación completa en el navegador. El navegador se está convirtiendo en la interfaz universal, ya sea que esté instalado localmente o en la nube.
Las aplicaciones web también tienen sus inconvenientes. Simplemente estoy más motivado para crear aplicaciones web, ya que los profesionales parecen superar las desventajas de los proyectos que estoy eligiendo.