web-applications - software - ventajas y desventajas de las aplicaciones de escritorio
Ventajas de las aplicaciones web sobre las aplicaciones de escritorio (19)
Las aplicaciones web evitan la carga en la implementación en cada máquina cliente.
No es necesario forzar el control de versión en la máquina del cliente.
Las actualizaciones son más fáciles.
Hace correcciones de errores más fáciles.
Sin verificación de derechos de administrador.
Puede acceder desde cualquier lugar .
Plataforma independiente .
Soporte y mantenimiento son más fáciles.
Adaptabilidad en aplicaciones móviles .
En la empresa en la que trabajo, parece que, de repente, todas nuestras aplicaciones deben transferirse a aplicaciones web. Por lo que puedo entender, la única razón es que el despliegue de aplicaciones web finalmente ha contaminado a algunos de nuestros tomadores de decisiones.
Soy un fanático de las aplicaciones de escritorio porque son más fáciles de usar. En mi opinión, son más receptivos, tienen mejores interfaces de usuario, son más personalizables y tienen mejor soporte de teclado. Simplemente no me veo usando versiones web de Visual Studio u OpenOffice. Además, tengo la impresión de que las aplicaciones de escritorio de cliente ligero son más fáciles de implementar que sus contrapartes de la aplicación web.
Tal vez estoy pasando por alto algunas cualidades de las aplicaciones web, y tal vez estoy equivocado sobre los inconvenientes que mencioné anteriormente. Por lo tanto, mi pregunta: ¿hay alguien que pueda ver las ventajas de las aplicaciones web sobre las aplicaciones de escritorio?
Actualización: Hasta ahora, llegaron algunas respuestas interesantes. Sin embargo, tenga en cuenta que no estoy hablando de la diferencia entre una aplicación de cliente delgada y gruesa , sino solo entre el desarrollo de una plataforma webbrowser y una plataforma de escritorio.
Actualización: por "aplicación web" me refiero a la combinación de HTML / CSS / JavaScript , aplicaciones de Internet no ricas como Silverlight. Estos son muy similares a las aplicaciones de escritorio, la principal diferencia es el hecho de que se ejecutan en una caja de arena.
Ambas plataformas web y de escritorio tienen sus ventajas y desventajas. Se pueden hacer buenos argumentos para ambos. Las aplicaciones híbridas (parte web, parte de escritorio) también tienen ventajas / desventajas en este sentido.
El desarrollo de aplicaciones siempre debe estar impulsado por requisitos, no por tendencias tecnológicas o preferencias religiosas o ventajas / desventajas comparativas generalizadas.
¿Alguna vez ha tratado de vender una aplicación web a personas en áreas de los EE. UU. U otros países donde el acceso de banda ancha es irregular o inexistente? :) ¿Qué pasa con el acceso móvil? ¿Nativo, basado en la web o híbrido? ¿Qué ocurre con el acceso local a los datos cuando no hay conexión a Internet, si es necesario? Etc.
Comience con los requisitos de la aplicación y trabaje de regreso a la tecnología. Cuando haces eso, tomas las decisiones correctas y terminas con la mejor plataforma para el proyecto en cuestión.
Ejemplo: tome el comentario que dice: "Las aplicaciones de escritorio ofrecen una experiencia de usuario mucho mejor que las aplicaciones web". Si el requisito (A) exige acceso en cualquier lugar / en cualquier momento desde cualquier computadora equipada con un navegador web y acceso a Internet, y (B) también exige un rendimiento de escritorio (por ejemplo, datos de base de datos en tiempo real que no requieren actualizaciones de página) C) el desarrollador debe considerar tecnologías como AJAX, Flash, Silverlight, Java o incluso clientes nativos que se carguen como control del navegador.
Solo digo que, una vez más, deben ser impulsados por los requisitos, no impulsados por la tecnología.
Depende del tipo de la aplicación. Si tiene una aplicación cms, no puede reemplazarla con web (al menos algunas partes) porque la aplicación necesita trabajar con recursos locales como impresora, lector de código de barras, impresora fiscal, pantalla, etc.
Entonces, para este tipo de aplicaciones que necesitan recursos locales, el escritorio no puede ser reemplazado.
Además, las aplicaciones de escritorio pueden ser mucho más rápidas que la web para aplicaciones cms.
Imagine un gran supermercado con muchos clientes esperando para pagar sus pedidos y pagar ventanas con aplicaciones web. No he visto tal cosa.
Pero también hay frameworks web como Oracle ADF que tienen incluso más alcance que el desktop assp. Con ADF puede construir una aplicación web idéntica a la aplicación de escritorio, de una manera similar a la forma en que se crean las aplicaciones de escritorio. Pero es costoso, la curva de aprendizaje es alta y requiere hardware "bueno".
Pero tenga en cuenta que si para la web no está utilizando componentes probados, Java Script no es tan bueno para aplicaciones de misión crítica, es propenso a errores.
Estoy de acuerdo con los puntos anteriores ...
Solo quiero agregar algo de profesional en la aplicación web: 1. se ve bien. también puedes cambiar los temas (solo cambia el CSS) puede ser que la aplicación de escritorio se vea aburrida para algunos usuarios pero la aplicación wep, puedes cambiar los temas / diseño y te impresionará a ti (y al jefe)
es más barato de implementar. Por ejemplo, si desarrolla una aplicación con .NET, debe tener clientes que instalen Windows. pero en la aplicación web, una vez que se desarrolla, cualquier cliente puede acceder a sus aplicaciones web con cualquier plataforma.
el desarrollo de aplicaciones web es simple (una vez que conoces css javascript y framework) puede hacerte la vida más fácil.
Sin virus y fácil de implementar / instalar para el cliente.
Contras: la interfaz de usuario en la aplicación web es más compleja y necesita capacidad en JavaScript y CSS para crear una buena calidad de interfaz de usuario.
Te recomiendo no crear desde cero (eso sería doloroso) sino construir los nuevos módulos en las aplicaciones web. eso sería sabio :)
He hecho bastante desarrollo escribiendo tanto aplicaciones de escritorio como sitios web.
En general, escribir código para una aplicación de escritorio es más fácil, hay más controles disponibles, usted tiene mucho más control sobre cómo funciona la aplicación.
Escribir aplicaciones web realmente requiere que comprenda HTML, CSS y Javascript, así como las limitaciones (o errores cuando se habla de IE) de los navegadores. Debe preocuparse por el estado y persistir, y los mecanismos disponibles para usted son limitados.
Habiendo dicho eso, con el tiempo me encuentro disfrutando escribiendo aplicaciones web cada vez más. Las limitaciones de la plataforma te hacen simplificar las cosas, y la apatridia de la web ayuda a administrar parte de la complejidad. Mi último proyecto web se puso en marcha y la empresa prácticamente no requiere capacitación porque las personas no técnicas ya están familiarizadas con las páginas web y cómo funcionan. También es genial solo ponerle un parche y hacerlo funcionar inmediatamente. Si alguna vez trabajó en la actualización de aplicaciones de escritorio, sin duda sabrá lo complicado y doloroso que puede ser.
Recientemente hemos tenido cierto éxito con una estrategia mixta (webtop), escribiendo el sistema principal como un sitio web, pero luego proporcionamos una aplicación del lado del cliente para usuarios avanzados que necesitan más funciones. Esto puede albergar un control de navegador (en Windows puedes incrustar IE fácilmente, en OS X puedes hacer lo mismo con Safari), o usar una API. Al igual que Twitter te da una versión web, pero los usuarios avanzados pueden usar TweetDeck o lo que sea.
Hoy en día, las personas que optan por la independencia de la plataforma Linux / osx / windows son una gran característica. Esto ayuda a apuntar a un mercado mucho más grande
Por supuesto, existen las ventajas obvias de que la aplicación se puede usar en cualquier lugar del mundo ... para mayor comodidad
La mayoría de las veces, el usuario solo necesita un navegador para usar su aplicación. No es necesario implementar todas las necesidades de la aplicación de material , y no es necesario pensar por qué su aplicación no funciona en un cliente.
La razón principal para desarrollar una aplicación en un enfoque web es que es más accesible que si supusiera compararla con una aplicación de escritorio, pero al hacerlo, debe estar bien informado de qué usar según sus necesidades.
Las aplicaciones web son buenas solo si vas a desarrollar aplicaciones que no pasan datos extremadamente confidenciales, debido a que las aplicaciones web se implementan en línea, son propensas a los piratas informáticos que si se comparara con una aplicación de escritorio. la aplicación de escritorio podría reducir el riesgo de seguridad que en una aplicación web, aunque ya existen medidas de seguridad para asegurar el sitio web, pero a lo largo del tiempo la gente descubrirá formas de destruir estas medidas de seguridad y creo que la mayoría del uso lo sabía especialmente esos hackers hardcore que existen allí. La aplicación de escritorio también tiene fallas de seguridad, pero es muy mínima.
Pero si alguien está realmente ansioso por llevar a cabo una aplicación web para proporcionar soluciones, sería mejor que esté bien informado sobre el riesgo que puede tener también para las personas que desarrollan aplicaciones de escritorio.
Las aplicaciones de escritorio brindan una experiencia de usuario mucho mejor que las aplicaciones web.
Seguro que todas las opciones tienen sus pros y sus contras, pero también debes evaluarlas. ¿Qué es más importante para usted, la experiencia del usuario o la independencia de la plataforma? Puntuamos la experiencia del usuario por encima de muchas cosas. Sí, estamos haciendo sacrificios, pero eso es parte de la vida.
Una forma de convencer a sus superiores es demostrarles que la experiencia del usuario está un poco más avanzada en una aplicación de escritorio e intentar convencerlos de que creen una aplicación de escritorio antes de crear la aplicación web.
Tenemos ambos en nuestra empresa y nuestros clientes prefieren la aplicación de escritorio a través de la aplicación web en cualquier momento. Están bastante dispuestos a aceptar las desventajas que conlleva el uso de una aplicación de escritorio.
No estoy enumerando las ventajas de una aplicación web en mi respuesta como otros lo han hecho. Las aplicaciones web y las aplicaciones de escritorio tienen ventajas y desventajas. ¡Haz ambos! Deje que su cliente elija. Vuelve a mí en las estadísticas. ;-)
Me gustaría nombrar una ventaja de las aplicaciones web que se reconoce menos comúnmente. Una aplicación web bien diseñada generalmente integra la ayuda en línea en la aplicación; no encontrará la división torpe habitual entre la aplicación de escritorio escueta e incomprensible y su detallado y desorganizado archivo de ayuda. Esta es quizás una diferencia cultural entre los desarrolladores / diseñadores web y los desarrolladores de escritorio.
Muchos puntos ya se mencionaron. Pero hay algunos con los que no puedo estar totalmente de acuerdo:
- La implementación de una aplicación web es fácil, pero la implementación de una aplicación de escritorio no es mucho más complicada en tiempos de Microsoft ClickOnce o Java Web Start.
- La corrección de errores es una aplicación web que no es realmente fácil (sesión menos, ejecutándose en el proceso del servidor web ...).
- Una aplicación web siempre tiene algunas limitaciones cuando se trata de ejecutar operaciones críticas de seguridad o acceder al hardware.
Para mí, que normalmente está completamente basado en la web, el factor que me lleva hacia aplicaciones de escritorio es la integración de hardware. Las aplicaciones web son excelentes si todo lo que necesita hacer es leer y enviar datos, pero si se trata de interactuar con cosas como impresoras de etiquetas u otro hardware especializado, una aplicación de escritorio es la única forma real de hacerlo. Puede vincularlos con servicios web o similares si es absolutamente necesario tener marcada la casilla "Aplicación web", pero el soporte de hardware especializado está en su mayor parte fuera del ámbito del navegador, y tiene mucho más sentido usa las API existentes para acceder a ella.
Solía desarrollar interfaces de escritorio para mis aplicaciones. En los últimos 3 años me he trasladado a interfaces web puras. Así es como lo hice:
- Escribo la aplicación principal como una colección de servicios, que expongo a través de REST.
- Escribí una "biblioteca" que se aproxima a los WxWidgets, pero no pedante.
- La GUI es un código JS que crea las pantallas de forma programática, como solía hacerlo en las aplicaciones de escritorio.
- Todo el estilo / pelado se hace usando clases CSS.
- Actualmente utilizo el sondeo largo para la interacción, pero planeo usar WebSockets o WebRTC en el futuro.
Todos los usuarios usan la última versión de Chrome y solo se puede acceder a la aplicación desde la intranet de la compañía. La mayoría de los usuarios tienen un atajo de escritorio que conecta su Chrome en modo de pantalla completa al servidor interno. Los usuarios menos inteligentes ni siquiera son conscientes (y no necesitan serlo) de que ya no es una aplicación de escritorio.
También soy un admirador de las aplicaciones de escritorio. Permítanme citar algunas desventajas más de las aplicaciones web:
- Desarrollar una lógica / IU de presentación de aplicaciones web es demasiado difícil en comparación con las aplicaciones de escritorio.
- La experiencia del usuario en diferentes navegadores podría variar.
- Operaciones retrasadas: considere las mismas transacciones en la web y en los escritorios. La aplicación web puede tener el retraso de buscar el servidor web que es más considerado para aplicaciones de escritorio (en la mayoría de los casos)
- Utilización de la CPU del cliente: aunque esto puede considerarse una desventaja de las aplicaciones de escritorio, la aplicación web no tiene una buena capacidad para utilizar el procesador del lado del cliente que se puede considerar en algunos casos para nivelar la carga de trabajo de procesamiento total entre el cliente / servidor.
Tiene razón acerca de las ventajas que anotó para aplicaciones de escritorio y hay más que olvidó mencionar (como seguridad, mantenimiento, etc.). La principal ventaja de las aplicaciones web es que se puede consumir a través de un navegador web desde Prácticamente en cualquier lugar.
Visual WebGui es una solución que apunta exactamente a esto, ya que permite desarrollar aplicaciones de escritorio (Windows) y ejecutarlas como aplicaciones web para que pueda disfrutar de las ventajas del desarrollo e implementación de escritorio (intuitivo, receptivo, fácil de usar) y al mismo tiempo disfrutar de la accesibilidad de las aplicaciones web.
Eche un vistazo, podría ahorrarle mucho tiempo y molestias.
Todos están de acuerdo con los comentarios anteriores.
La ilusión de la comparabilidad de las aplicaciones de escritorio es solo una pérdida de tiempo y una ignorancia sobre el futuro. la aplicación web es una tecnología más nueva y mejor que las aplicaciones de escritorio. Hace 10 años, casi nadie usaba aplicaciones web, excepto algunos inteligentes. Porque era completamente nuevo y experimental. y no había suficientes herramientas para desarrollar aplicaciones web mejores y profesionales. Con PHP4 y su competencia, muchas condiciones cambiaron. todos necesitábamos actualizarnos a nosotros mismos.
Por cierto, las aplicaciones web profesionales pueden manejar el problema de dependencia del navegador. y hay un punto faltante / ignorado: puede ACCEDER desde CUALQUIER LUGAR con cualquier plataforma / navegador. Con SSL mucho más seguro. No conozco ninguna aplicación de escritorio profesional con esta característica.
Editar: Gramática y puntuación
Pro de una aplicación web sobre la aplicación de escritorio : -
- Solo será necesario actualizar una copia de un programa.
- El 99% del código es independiente de la plataforma.
- mantenimiento, soporte y parches son más fáciles de proporcionar
- Menos posibilidades de encontrar restricciones que la computadora del cliente puede haber impuesto
- Además de muchos más
Con una aplicación web sobre la aplicación de escritorio :
Si la conectividad de red no funciona, también lo hace la aplicación
Necesidad de aprender varios idiomas para desarrollar con éxito una aplicación (scripting del lado del servidor, SQL, XHTML / CSS, etc.)
- Menor necesidad de seguridad (los usuarios son confiables en la empresa, no hay "amenaza externa")
- Necesidad de una (s) máquina (s) dedicada (s) para el servidor web
Todo esto es solo algunos de los muchos pros y contras que puedes encontrar en esta conversación
- Las aplicaciones web no requieren muchos requisitos de procesamiento en el lado del cliente, ya que todo el procesamiento está sucediendo en el lado del servidor, el navegador es solo la parte de la vista o la interfaz del usuario.
- Es fácil realizar cambios en las aplicaciones web al observar la información de registro y los patrones de navegación de los usuarios, ya que cada solicitud llega al servidor y se puede registrar.
- Todos los usuarios siempre usan la última versión
- Sin piratería
- Accesible desde donde estén tus usuarios
- Plataforma cruzada
- No requiere instalación para los usuarios
- Puede medir fácilmente lo que hacen los usuarios (cuántos usan la función XX, etc.)
- Puede proporcionar una colaboración sencilla entre sus usuarios si es necesario, ya que todos los datos están centralizados