Ventajas de las aplicaciones web sobre las aplicaciones de escritorio [cerrado]

79

En la empresa para la que trabajo, parece que, de repente, todas nuestras aplicaciones necesitan ser portadas a aplicaciones web. Hasta donde puedo entender, la única razón es que el bombo de las 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 un mejor soporte de teclado. Simplemente no puedo verme 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 aplicaciones web.

Tal vez estoy pasando por alto algunas cualidades de las aplicaciones web, y tal vez estoy equivocado acerca de 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, hubo algunas respuestas interesantes. Sin embargo, tenga en cuenta que no me refiero a la diferencia entre una aplicación cliente delgada y una pesada, sino solo entre desarrollar para una plataforma de navegador web y una plataforma de escritorio.

Actualización: por "aplicación web" me refiero a la combinación HTML / CSS / JavaScript , no a aplicaciones de Internet enriquecidas como Silverlight. Son muy similares a las aplicaciones de escritorio, la principal diferencia es el hecho de que se ejecutan en una caja de arena.

Dimitri C.
fuente

Respuestas:

63
  1. Las aplicaciones web evitan la carga de la implementación en cada máquina cliente.

  2. No es necesario que aplique la verificación de la versión en la máquina cliente.

  3. Las actualizaciones son más fáciles.

  4. Facilita la corrección de errores .

  5. Sin verificación de derechos de administrador .

  6. Puede acceder desde cualquier lugar .

  7. Plataforma independiente .

  8. El soporte y el mantenimiento son más fáciles.

  9. Adaptabilidad en aplicaciones móviles .

rahul
fuente
3
"Facilita la corrección de errores": ¿qué quieres decir? Una aplicación de escritorio de cliente ligero se puede actualizar con la misma facilidad, creo.
Dimitri C.
65
Independiente de la plataforma, pero a veces depende del navegador :)
Canavar
19
"Puede acceder desde cualquier lugar". - Eso es asumiendo que estás conectado a Internet ... Creo que este es uno de los grandes inconvenientes de las aplicaciones web. Con las aplicaciones de escritorio, una vez que están instaladas en su computadora, puede acceder a ellas en cualquier momento que tenga su computadora con usted. No es así con las aplicaciones web. Y aún no hemos mencionado las velocidades de conexión ...
Steve Harrison
7
Para 1 .: No es una carga en los tiempos de Internet y los instaladores convenientes. Para 3 .: El problema se puede resolver fácilmente para las aplicaciones de escritorio (verificar, preguntar al usuario, instalar) si está conectado a Internet. Para 4 .: Depende del error ... Si creó una aplicación web de alta gama que habilita estándares de escritorio como arrastrar y soltar y otros con script java, la solución puede ser realmente desagradable. A las 7 .: ¡NO! Existe aún más dependencia de la plataforma: "Navegador en SO"
Kai Huppmann
4
@Canavar si es una aplicación interna a una aplicación web, generalmente puede garantizar que TI controle la versión del navegador. Gracias a las bibliotecas JS, la codificación para múltiples navegadores no es tan difícil. Codificar CSS para todo lo que pasa después de IE6 no es tan difícil si eres un diseñador / desarrollador web lo suficientemente bueno.
Chris McKee
56

Las aplicaciones de escritorio ofrecen una experiencia de usuario muy superior a la de las aplicaciones web.

Seguro que cada opción tiene sus pros y sus contras, pero también debes calificarlos. ¿Qué es más importante para usted, la experiencia del usuario o la independencia de la plataforma? Valoramos 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á a años luz de ventaja en una aplicación de escritorio y tratar de convencerlos de que creen una aplicación de escritorio antes de crear la aplicación web.

Tanto en nuestra empresa como nuestros clientes prefieren la aplicación de escritorio a la aplicación web cualquier día. Están dispuestos a aceptar cualquier desventaja que conlleve el uso de una aplicación de escritorio.

No enumero las ventajas de una aplicación web en mi respuesta como lo han hecho otros. Las aplicaciones web y las aplicaciones de escritorio tienen pros y contras. ¡Haz ambos! Deje que su cliente elija. Vuelve conmigo sobre las estadísticas. ;-)

Maltrap
fuente
7
Creo que esta es una buena idea, aunque bastantes empresas la desaprobarían únicamente porque consume más horas de trabajo +1
Marc Towler
1
Si las aplicaciones de escritorio son inherentemente superiores, ¿cómo explica que muchas personas reenvían su correo desde Outlook / Exchange a Gmail?
Joeri Sebrechts
3
@Joeri El punto de esta respuesta es que ambas tecnologías tienen su lugar. El correo electrónico Exchange es un buen ejemplo. En el trabajo leo mi correo de intercambio usando Outlook y en todos los demás lugares donde uso el cliente web OWA.
Phillip Ngan
1
¡¡Avance rápido 2019 !! Aún así, esto es válido. Pero el lado malo de la tecnología es que todo el espacio está lleno de desarrolladores web que nunca tuvieron experiencia en el desarrollo de ninguna aplicación de escritorio y lo único que hicieron fue convertir una aplicación de escritorio obsoleta en una aplicación web. ¿Qué porcentaje de las aplicaciones web tienen menús contextuales o de arrastrar y soltar? ¿Cuántos sitios web tienen un caché integrado que puede permanecer en la máquina del cliente para reiniciar? intente copiar y pegar una cuadrícula de datos de una página a otra? atajos de teclado para controles? Mucho más, los conceptos básicos de la experiencia del usuario faltan en la web después de 20 años.
digitally_inspired
La experiencia del usuario web se ha transformado después de la aplicación de página única (SPA). Eso es muy parecido a una aplicación de escritorio actual.
Tom
27

He desarrollado bastante desarrollo escribiendo aplicaciones de escritorio enriquecidas y sitios web.

En general, escribir código para una aplicación de escritorio es más fácil, hay más controles disponibles y tiene un control mucho mayor sobre cómo funciona la aplicación.

Escribir aplicaciones web realmente requiere que entiendas HTML, CSS y Javascript, así como las limitaciones (o errores cuando se habla de IE) de los navegadores. Tienes que preocuparte por el estado y persistirlo, y los mecanismos disponibles para ti son limitados.

Habiendo dicho eso, con el tiempo disfruto cada vez más escribiendo aplicaciones web. Las limitaciones de la plataforma te hacen simplificar las cosas, y la falta de estado de la web ayuda a gestionar parte de la complejidad. Mi último proyecto web se puso en marcha y el negocio prácticamente no requirió capacitación porque las personas no técnicas ahora están familiarizadas con las páginas web y cómo funcionan. También es genial simplemente poner una solución y hacer que se active de inmediato. Si alguna vez ha trabajado con 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 proporcionando una aplicación del lado del cliente para usuarios avanzados que necesitan más funciones. Esto puede albergar un control de navegador (en Windows puede incrustar IE fácilmente, en OS X puede hacer lo mismo con Safari) o usar una API. Al igual que Twitter te ofrece una versión web, pero los usuarios avanzados pueden usar TweetDeck o lo que sea.

Dave Glassborow
fuente
1
Respuesta muy interesante. Muchas gracias.
Dimitri C.
1
"Actualizar aplicaciones de escritorio complicado y doloroso": mantengo el instalador de una de nuestras aplicaciones principales. Hacer posibles actualizaciones para saltos de versiones grandes es realmente muy difícil. Sin embargo, esto se debe a que actualiza nuestra aplicación completa. Cuando solo necesitáramos actualizar el cliente ligero, esto sería bastante fácil, creo.
Dimitri C.
1
Claro, supongo que depende del tipo de aplicación de escritorio. Ayer pasé demasiado tiempo tratando de resolver un error de actualización de la base de datos que solo afectó a unos pocos clientes ...
Dave Glassborow
21
  • Todos los usuarios siempre usan la última versión
  • Sin piratería
  • Accesible desde donde estén sus usuarios
  • Plataforma cruzada
  • No requiere instalación para los usuarios
  • Puede medir fácilmente lo que están haciendo sus usuarios (cuántos están usando 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
truppo
fuente
16
"los usuarios siempre utilizan la última versión": nuestra aplicación de escritorio se actualiza automáticamente.
Dimitri C.
12
"No piratería": una aplicación de escritorio de cliente ligero se puede copiar libremente, siempre que el componente del servidor no esté distribuido.
Dimitri C.
14
"Multiplataforma": las aplicaciones de escritorio Java también son multiplataforma.
Dimitri C.
3
@Dimitri, nunca dije que las aplicaciones de escritorio no pueden hacer las cosas en mi lista ... pero en una aplicación web la obtienes gratis.
truppo
5
"todos los datos están centralizados": si elige escribir una aplicación de escritorio de cliente ligero, obtiene la misma ventaja.
Dimitri C.
11

Ventajas de una aplicación web sobre una 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 pueda haber impuesto
  • Y muchos más

Contras de una aplicación web sobre una aplicación de escritorio : -

  • Si la conectividad de la red está inactiva, la aplicación también

  • Necesita aprender varios idiomas para desarrollar con éxito una aplicación (scripts del lado del servidor, SQL, XHTML / CSS, etc.)

  • Menor necesidad de seguridad (los usuarios confían en la empresa, no hay "amenazas externas")
  • Necesidad de una (s) máquina (s) dedicada (s) para el servidor web

Todo esto son solo algunos de los muchos pros y contras que puede encontrar en esta conversación.

Marc Towler
fuente
7

Tanto las plataformas web como las de escritorio tienen sus ventajas y desventajas. Se pueden presentar buenos argumentos para ambos. Las aplicaciones híbridas (parte web, parte escritorio) también tienen ventajas / desventajas en este sentido.

El desarrollo de aplicaciones siempre debe estar impulsado por los requisitos, no por tendencias tecnológicas o preferencias religiosas o ventajas / desventajas comparativas generalizadas.

¿Alguna vez trató 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é pasa 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 vuelva 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 brindan una experiencia de usuario muy superior a la de 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 similar al de un escritorio (por ejemplo, datos de base de datos en vivo que no requieren actualizaciones de página), entonces ( C) el desarrollador se ve llevado a considerar tecnologías como AJAX, Flash, Silverlight, Java o incluso clientes nativos que se cargan como un control del navegador.

Solo digo, de nuevo, que se guíen por los requisitos, no por la tecnología.

RBLevin
fuente
7

Ya se mencionan muchos puntos. 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 en una aplicación web no es realmente fácil (sin sesión, ejecutándose bajo 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.
Alejandro
fuente
1
Tiene razón al considerar la corrección de errores como un problema más que como una ventaja. Hay tantas variables posibles con una aplicación web. Es posible que ni siquiera pueda reproducir el error sin exactamente la misma configuración que el usuario final. Por supuesto, si está implementando dentro de una organización, esto es más controlable, pero la mayoría de las otras ventajas percibidas de las aplicaciones web también se evaporan.
Noel Walters
5

Depende del tipo de aplicación. Si tiene una aplicación cms, no se puede reemplazar con web (al menos algunas partes) porque la aplicación necesita funcionar 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 se puede reemplazar.
Además, las aplicaciones de escritorio pueden ser mucho más rápidas que las web, para aplicaciones cms.

Imagine un gran supermercado con muchos clientes esperando para pagar sus pedidos y ventanas de pago con aplicaciones web. No he visto tal cosa.

Pero también existen frameworks web como Oracle ADF que tienen incluso más alcance que el assp de escritorio. Con ADF puede crear una aplicación web idéntica a la aplicación de escritorio, de una manera similar a como se construyen las aplicaciones de escritorio. Pero si es caro, la curva de aprendizaje es alta y requiere hardware "bueno".

Pero tenga en cuenta que si para la web no está utilizando componentes probados, el script java no es tan bueno para aplicaciones de misión crítica, es propenso a errores.

darpet
fuente
4

Para mí, que normalmente estoy completamente basado en la web, el factor que me inclina hacia las 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 el único camino a seguir. Puede vincularlos con servicios web o similares si es absolutamente necesario tener marcada la casilla de verificación "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 utilice las API existentes para acceder a él.

richsage
fuente
2

En estos días, la gente que opta por la independencia de la plataforma linux / osx / windows es 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 utilizar en cualquier parte del mundo ... para mayor comodidad.

user128026
fuente
2
¿Las aplicaciones web no tienen que lidiar igualmente bien con los problemas de portabilidad (entre Internet Explorer y Firefox, por ejemplo)?
Dimitri C.
puede limitar al usuario a usar solo Firefox ya que es para la empresa interna (yo hice eso ... así que siempre recomiendo a mi usuario que use Firefox o Chrome)
nightingale2k1
1
JQuery corrigió las inconsistencias de Javascript para usted, los marcos de diseño receptivo como Twitter-BootStrap corrigieron las inconsistencias de html / css. Si está creando un software basado en la web y utiliza estas herramientas, es muy poco probable que tenga que lidiar con inconsistencias a nivel del navegador.
dendini
2

estoy de acuerdo con los puntos anteriores ...

Solo quiero agregar algunos profesionales en la aplicación web: 1. Se ve bien. también puede cambiar los temas (solo cambie el css) puede que la aplicación de escritorio parezca aburrida para algunos usuarios, pero la aplicación wep, puede cambiar los temas / diseño e impresionará a su usuario (y jefe)

  1. es más barato que los implementos. Por ejemplo, si desarrolla una aplicación con .NET, necesita tener clientes que instalen Windows. pero en la aplicación web, una vez desarrollada, cualquier cliente puede acceder a sus aplicaciones web con cualquier plataforma.

  2. El desarrollo de aplicaciones web es simple (una vez que conozca css javascript y framework) puede hacer su vida más fácil.

  3. 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 hacer una interfaz de usuario de buena calidad.

Le recomiendo que no cree desde cero (eso sería doloroso) sino que cree los nuevos módulos en aplicaciones web. eso seria prudente :)

ruiseñor2k1
fuente
2
Sin virus, pero con mucho margen para gusanos, desfiguración y otras vulnerabilidades basadas en XSS, CSRF, inyección SQL y similares.
Noel Walters
1
"Más barato" tampoco es necesariamente cierto: si crea una aplicación web que debería tener una experiencia de usuario decente y ser compatible con todos los principales navegadores y dispositivos móviles, entonces se necesitan muchos ajustes para hacerlo bien. De hecho, es más barato que crear una aplicación para osx / ios / win / linux, pero crear una aplicación web los usuarios esperan que se ejecute sin problemas en el navegador específico que elijan. Un alcance de sistema operativo limitado de aplicaciones de escritorio es más fácil de explicar.
faester
2

La razón principal para desarrollar una aplicación en un enfoque web es que es más accesible de lo que supondría 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 solo va a desarrollar aplicaciones que no transmitan datos extremadamente confidenciales, debido a que las aplicaciones web se implementan en línea, son más propensas a los piratas informáticos que si las 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 hacer que el sitio web sea seguro, pero con el tiempo, la gente descubrirá formas de destruir estas medidas de seguridad y creo que la mayoría de los usuarios lo conocían. especialmente esos hackers incondicionales que existen allí. Las aplicaciones de escritorio también tienen fallas de seguridad, pero son mínimas.

Pero si alguien está realmente ansioso por utilizar una aplicación web para proporcionar soluciones, entonces sería mejor si estuviera bien informado del riesgo que también puede suponer lo mismo para las personas que desarrollan aplicaciones de escritorio.


fuente
2

Me gustaría nombrar una ventaja de las aplicaciones web que es menos reconocida. Una aplicación web bien diseñada generalmente integra la ayuda en línea en la aplicación; no encuentra la habitual división torpe entre la concisa e incomprensible aplicación de escritorio y su archivo de ayuda detallado y desorganizado. Esta es quizás una diferencia cultural entre los desarrolladores / diseñadores web y los desarrolladores de escritorio.

MarkJ
fuente
2

También soy un admirador de las aplicaciones de escritorio. Permítanme citar algunas desventajas más de las aplicaciones web:

  1. Desarrollar una lógica / interfaz de usuario de presentación de aplicaciones web es demasiado difícil en comparación con las aplicaciones de escritorio.
  2. La experiencia del usuario en diferentes navegadores puede variar.
  3. Operaciones retrasadas: considere las mismas transacciones en la web y en los escritorios. La aplicación web puede retrasar la búsqueda del servidor web que se considera más alto que las aplicaciones de escritorio (en la mayoría de los casos)
  4. Uso 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, lo que en algunos casos puede considerarse para nivelar la carga de trabajo de procesamiento total entre cliente / servidor.
Jobin
fuente
1
Creo que algo de tu lista, un poco obsoleta ahora: /
risyasin
2

Tiene razón sobre las ventajas que enumeró para las aplicaciones de escritorio y hay aún más que olvidó mencionar (como seguridad, mantenimiento, etc.) La principal ventaja de las aplicaciones web es el hecho de que se pueden 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 y la implementación de escritorio (intuitivo, receptivo, fácil de usar) y al mismo tiempo disfrute de la accesibilidad de las aplicaciones web.

Eche un vistazo, podría ahorrarle mucho tiempo y molestias.

user225949
fuente
1

La mayoría de las veces, el usuario solo necesita un navegador para usar su aplicación. No es necesario implementar todas las cosas que la aplicación necesita y no es necesario pensar por qué su aplicación no funciona en un cliente.

Canavar
fuente
1
  • Las aplicaciones web no requieren muchos requisitos de procesamiento en el lado del cliente, ya que todo el procesamiento se realiza en el lado del servidor, el navegador es solo la parte de vista o la interfaz de usuario.
  • Es fácil realizar cambios en las aplicaciones web observando la información de registro y los patrones de navegación del usuario a medida que cada solicitud llega al servidor y se puede registrar.
Xinus
fuente
1
"Las aplicaciones web no requieren muchos requisitos de procesamiento por parte del cliente": también es perfectamente posible escribir una aplicación de escritorio de cliente ligero.
Dimitri C.
0

Solía ​​desarrollar interfaces de escritorio para mis aplicaciones. Durante los últimos 3 años, me he movido 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 para las aplicaciones de escritorio.
  • Todo el estilo / piel se realiza mediante clases CSS.
  • Actualmente, utilizo un sondeo largo para la interacción, pero planeo usar WebSockets o WebRTC en el futuro.

Todos los usuarios utilizan la última versión de Chrome y solo se puede acceder a la aplicación desde la intranet de la empresa. La mayoría de los usuarios tienen un acceso directo en el 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.

CyberFonic
fuente