2008-12-05 7 views
7

He estado trabajando en un proyecto que tiene 2 interfaces: formularios de Windows y web. Durante los últimos 8 meses, nos hemos enfrentado a más problemas con el mantenimiento de nuestras aplicaciones web (funciona en IE no en FF, ajax se rompe en algunas formas extrañas que no es fácil de depurar ...) y así sucesivamente.
¿Los clientes inteligentes son más fáciles de mantener que las aplicaciones web?

Por otro lado, la aplicación winform es fácil de instalar. Tenemos una versión xcopy y hacemos clic una vez en su despliegue que le permite al usuario hacer clic en un enlace en el navegador para descargar e instalar. Cuando actualizamos la aplicación, todo lo que necesitamos hacer es publicarlo en el servidor y enviar un correo electrónico con un enlace Cuando el usuario hace clic en el enlace de descarga ... tienen una nueva versión ... todo lo que se necesita es el tiempo de ejecución 2.0.

¿Está cambiando la situación ahora a los clientes inteligentes?

EDIT: ¿Los navegadores ahora están causando los problemas con las aplicaciones web (demasiadas plataformas ... no todas siguen los mismos estándares) que plagaron las aplicaciones del cliente?

EDIT: Las aplicaciones web tienen que ser probados en hasta 4 navegadores (por no hablar de IE - IE 6, IE 7 e IE 8). Mientras que los clientes inteligentes se ejecutan en la parte superior del marco, por lo que no necesitan ser probados en todos los sistemas operativos.

Respuesta

1

Teníamos un sitio web de PHP para nuestra utilidad de intranet. Tenemos switches desde hace 2 años con una aplicación C# con ClickOnce y todos adoran trabajar con una aplicación de escritorio. La actualización se realiza de forma automática y el equipo de desarrollo ha reducido a alrededor del 70% todos los tiempos de GUI/Visual. Podríamos tener este alto nivel o éxito porque la mayoría de las computadoras son prácticamente iguales (todos con el mismo sistema operativo y la misma configuración) pero bueno: éxito para nosotros. Espero que esta experiencia te ayude a tomar tu decisión.

1

¿Quizás la marea está cambiando a silverlight?

Pero la implementación de clientes inteligentes suele ser bastante fácil (clickonce).

1

Tradicionalmente, la ventaja de las aplicaciones web era que eran fácilmente multiplataforma y la implementación no era un problema.

Con tecnologías como ClickOnce, la implementación es menos complicada ... por lo tanto, si su aplicación solo necesita apuntar a un conjunto limitado de plataformas, sí permite una experiencia de usuario consistente y controlable.

0

Cosas como Java Web Start también existe desde milenios pero no se quitó ...

En la perspectiva del programador, los técnicos son sin duda la mejor manera. Para hacer una aplicación en la web, realmente solo estás pirateando. ¿Despegarán algún día? Sólo el tiempo dirá. Eso espero.

+1

Creo que Java Web Start está plagado de cosas como la estética de Swing y el monstruo que es Java ... Quiero decir, para ser honesto al respecto ... – BobbyShaftoe

2

Yo mismo he tenido cierta experiencia con este tema. Una cosa que he descubierto es que algunos gerentes de empresas y software confunden la curva de aprendizaje superficial * del desarrollo web con un costo de desarrollo económico. Si los requisitos de su proyecto son lo suficientemente ligeros, puede ser más barato construir e implementar una aplicación web, pero descubrí que hay un umbral por el cual hacer que una aplicación web sea más sofisticada se convierte en un dolor masivo en comparación con el desarrollo de una aplicación de escritorio. Las personas recurren a tecnologías como Flash o AJAX para cerrar la brecha, pero a veces es mucho más simple simplemente escribir una aplicación que se ejecuta localmente y realizar solicitudes web que proporcionar la interfaz de usuario como un sitio web.

El marketing agresivo de .NET sin duda ayuda en términos de cambiar el rumbo. :) He tenido clientes a los que realmente no les importa si una aplicación se ejecuta localmente o como sitio web, siempre que use la plataforma .NET. Esto facilita el uso de la API de WinForms para aquellos proyectos realmente UI que causarían pesadillas como una aplicación web.

* Por "curva de aprendizaje superficial" quiero decir que un desarrollador web puede comenzar en HTML & CSS, mezclar JavaScript bit por bit, y pasar de allí a PHP, todas las cuales son herramientas amigables en comparación con C++ o C# desde la perspectiva del principiante.

0

Cuando tiene control sobre la base de clientes, tiene un mejor control sobre su aplicación y los clientes gruesos pueden funcionar bien en esos dominios (especialmente detrás del firewall en un entorno corporativo).

Pero su aplicación winform tiene dependencias en: el sistema operativo, la instalación de .NET, etc. Por lo tanto, mientras esté ejecutando Windows y un .NET framework compatible, está bien. Pero, obviamente, a medida que los clientes progresan, esas suposiciones deberán mantenerse.

Ahorre para los "problemas de Ajax raros", si hubiera ordenado que todos usen el mismo navegador (al igual que obliga a todos a usar Windows y .NET), esos problemas de incompatibilidad desaparecerían.

Obviamente, el desarrollo de Ajax y los navegadores no son tan maduros como otros modelos de desarrollo y conjuntos de herramientas, pero se está haciendo mucho mejor, y muy rápido. La madurez de la plataforma del navegador, particularmente en este nuevo espacio, son los principales inconvenientes del modelo "Fat Ajax".

Pero, ahora tenemos CUATRO grandes empresas/organizaciones que presionan MUY duro en este modelo, y piensan que el modelo "Fat Ajax" continuará elevando el listón donde es una mejor opción para una gama más amplia de aplicaciones.

+0

Estoy de acuerdo en que exigir el uso de ciertos navegadores sería resuelve muchos problemas, pero es muy poco probable que los usuarios cambien al "navegador recomendado". Por otro lado, la creación de una aplicación winform obligaría al usuario a descargar la aplicación (siempre que tenga el tiempo de ejecución). – Developer

+0

Realmente creo que Microsoft cometió un gran error al no incorporar .NET mucho más. Tenerlo simplemente como una descarga opcional todavía hace que muchos sientan que MS no está comprometido con que sea una plataforma de desarrollo seria. He escuchado a muchos gerentes de TI dudar en instalar .NET por ese motivo. – BobbyShaftoe

+0

Bueno, ese es el juego. Siempre que pueda "forzar al usuario", puede controlar las discrepancias que pueden dificultar el desarrollo y la implementación. Mientras más abierta esté la implementación, más problemas tendrás. –

0

En mi opinión, codificar varios navegadores no es tan difícil como intentar que una aplicación GUI nativa funcione correctamente en mac, windows y * nix (sin mencionar las distintas plataformas de ventanas en * nix land) . Pero si solo necesita admitir computadoras Windows relativamente modernas, puede tener un punto.

1

Paradigmas de programación son péndulos. Las cosas volverán a clientes gruesos y luego volverán a clientes delgados.

Tome Cloud Computer por ejemplo: la informática distribuida existe desde hace más de 30 años. Pero es "nuevo" ahora que le hemos puesto un nombre kitsch.

Web 2.0 es en en este momento, pero se apagará y los clientes "inteligentes" estarán de regreso. Luego "Web 3.0 - Esta vez con más silbidos" vendrá, y empujará "inteligente".

Lo que ha sido otra vez, lo que se ha hecho se hará de nuevo; No hay nada nuevo bajo el sol.

Cuestiones relacionadas