web applications - ¿Por qué las aplicaciones web son más populares que las aplicaciones locales?
web-applications desktop-application (14)
"Puedo instalarlo en las computadoras de ellos". Y cuando ganes la lotería, ¿entonces qué? Ahora, ¿quién se encargará de esos escritorios hechos a mano cariñosamente, los escritorios que tienen un software único?
La administración central de una aplicación web, incluso para dos personas, es de gran valor para una organización.
Pregunto esto porque en el trabajo se supone que debo desarrollar una aplicación web que se usa en una intranet por dos personas. Es una aplicación que debería mantener algunos estados en un flujo de trabajo. Así que tengo que mantener los datos en una sesión y me importa la simultaneidad. Sería mucho más fácil desarrollar una aplicación de escritorio normal. Pero el cliente fue claro en esto (deseé que todo en la especificación fuera tan claro): quiere una aplicación web.
Sé que muchas personas no quieren instalar aplicaciones, pero aquí hay dos usuarios, y puedo instalarlo en las computadoras de ellos.
Entonces quiero saber: ¿Cuáles son las razones, por qué las webapps son tan populares en estos días? ¿Es una exageración y en dos años los clientes exigirán más aplicaciones de escritorio? ¿O hay algo sobre webapps que los hace especialmente atractivos / atractivos?
Algunas razones adicionales:
- porque una aplicación web bien diseñada se ejecutará prácticamente en CUALQUIER computadora que pueda ejecutar un navegador. De hecho, pone fin a las guerras del sistema operativo si ejecuta aplicaciones web: los fanáticos de Apple pueden seguir usando manzanas, los fanáticos de Msoft y los fanáticos de Unix / Linux de la misma manera.
Con una aplicación de escritorio, debe elegir la plataforma / sistema operativo, o bien utilizar alguna herramienta que prometa (¡Ha!) Capacidad multi-OS (y luego tratar con el correo de odio desde todos los lados cuando la aplicación de escritorio se parece a cualquiera de ellos están "acostumbrados a usar".
Como se dijo anteriormente, las actualizaciones son tan sencillas como reposicionar el código en el servidor. Sin despeinarse sin problemas. La actualización de las aplicaciones de escritorio puede ser una pesadilla, especialmente si desarrolla una nueva versión con nuevas herramientas, y repentinamente tiene que actualizar todas las "otras cosas" (dlls, binarios, lo que sea) en todos los escritorios. En el peor de los casos, su nueva versión sofisticada puede que ni siquiera se ejecute en un sistema operativo anterior porque las bibliotecas binarias vienen con el sistema operativo. Así que ahora estás actualizando el sistema operativo (y el hardware, ¡ay!) También.
Para la mayoría de las aplicaciones, la interfaz web es perfecta, especialmente si está creando la aplicación estándar "leer, escribir, informar desde la base de datos", la interfaz web es bastante decente. Y es bastante decente en la mayoría de los navegadores (ver n. ° 1). Las aplicaciones de escritorio tienen una mala tendencia a perderse en la actual "tendencia de IU de lujo" (recuerde que cada aplicación de Windows debe tener varias ventanas). La cantidad de código que NO DEBE escribir puede ser bastante.
El cliente siempre tiene la razón. Ahora, la advertencia es que usted, como diseñador / desarrollador, necesita entrar en la cabeza del cliente tanto como sea posible y determinar POR QUÉ piden ciertos requisitos. Asegúrese de que el problema REAL se resuelva primero, pero si ese es el caso, entonces diferir los deseos del cliente.
Aclamaciones,
-R
Bueno, las aplicaciones web pueden ser más fáciles de mantener. Si actualiza la estructura de datos de un cliente de escritorio tradicional, debe asegurarse de que el software del cliente tenga la versión correcta. En una aplicación web, esto no es un gran problema.
Además, los errores tipográficos / errores pueden ser más fáciles de solucionar, solo debes actualizarlo una vez y volver a implementarlo. Una aplicación de escritorio tradicional tendría que actualizarse automáticamente o (si realmente es un sadomasoquista) actualizar manualmente.
Habiendo hecho clientes de escritorio tradicionales y aplicaciones web, elegiría aplicaciones web.
Sin embargo , me sorprende que una aplicación tan pequeña deba ser una aplicación web.
Creo que parte del motivo tiene que ver con las opciones limitadas de interacción humana que ofrecen la mayoría de las aplicaciones web (a menos que te guste).
Por ejemplo, solía trabajar en una empresa que fabricaba software de atención médica, y nos costó muchísimo conseguir que los usuarios entendieran al hacer clic derecho y arrastrar y soltar. Por lo tanto, para cada acción en el programa, teníamos que tener una opción de menú contextual, un ícono en la barra de herramientas y una opción de menú como Archivo-> Opciones-> Exportar.
En una aplicación web, parece que la mayoría de las veces, tienes dos opciones: un enlace o un botón (claro, entiendo que puedes hacer todo lo que hace cualquier aplicación gruesa, pero solo digo que la mayoría de tiempo, solo se topa con botones y enlaces).
Debido a esto, parece que muchos usuarios tienen menos problemas para descubrir aplicaciones web. Simplemente buscan el botón etiquetado "Guardar" y hacen clic en él. Por lo tanto, esos usuarios prefieren las aplicaciones web porque las ven como más fáciles de usar.
Y, dado que la naturaleza de las aplicaciones web también significa que muchas veces se aleja de una página que tiene algún tipo de menú (generalmente no hay un menú "Archivo, Edición, Ayuda" en la parte superior de cada página) , hay menos ruido para que se confundan. Simplemente miran una página, que está llena de campos y listas desplegables, y ven dos pequeños botones en la parte inferior, etiquetados como "Guardar" o "Cancelar". Es raro que vea una aplicación gruesa que esté restringida a ese nivel.
En primer lugar, creo que hay una (pequeña) distinción entre una aplicación web / y una aplicación cliente / servidor. La aplicación web es un tipo de aplicación cliente / servidor donde el servidor está completamente fuera del control de los clientes y el cliente es un navegador. Una aplicación cliente / servidor es aquella en la que el cliente posee y controla tanto el servidor como el cliente. Su caso suena más como una aplicación cliente / servidor, no como una aplicación web per se.
Además de todas las razones que todos mencionaron acerca de por qué webapps son más atractivas, no olvide incluir que la mayoría de ellos proporciona una versión gratuita. No solo una versión limitada en el tiempo o paralizada, sino una versión gratuita que puedes seguir usando para siempre o hasta que la descontinúen (a cambio de algo, por supuesto, tus datos personales, atención para los ingresos publicitarios, etc.). Ese es un gran incentivo (ya que a la mayoría de los usuarios no les importaría pagar la aplicación de todos modos) además de la ventaja de no instalar y no actualizar.
Sin embargo, si necesita conservar copias de sus datos y es un "creador" incondicional en lugar de solo un consumidor, una aplicación de escritorio híbrida que se sincronice con un servidor es, en mi opinión, una solución mucho mejor.
Es imposible responder si las aplicaciones web son más populares que las aplicaciones locales. Por supuesto, hay ciertos tipos de aplicaciones que serían más adecuadas para Internet.
Ya se ha mencionado que las aplicaciones web tienen estas ventajas percibidas:
- No requiere instalación o configuración real
- Los datos se pueden registrar más fácilmente. Si utilizo una aplicación de Office, automáticamente mantiene mi trabajo en línea para utilizarlo en cualquier lugar, y teóricamente, si administra dicho programa, entonces puede tener acceso a los documentos de otros. Esto podría ser útil para el negocio en general
- Funciona siempre que el usuario tenga un navegador en funcionamiento. ¡No más errores locos o pérdida de datos porque todo está en Internet!
Si estas ventajas funcionan bien con su elección de aplicación ¡entonces genial! Desarrollar para el mundo en línea y cosechar las ventajas. El problema surge cuando su aplicación no es adecuada para el mundo en línea. Intenta implementar una versión en línea de Spore y ve qué tan lejos llegas.
Para simplificar las cosas, la única vez que una aplicación web es mejor que una aplicación de escritorio es cuando la funcionalidad requerida y los requisitos comerciales muestran que el uso en línea sería mejor que el uso local. Mi amigo trabaja en una tienda de teléfonos de O2 y su nueva aplicación de registro de usuarios es una aplicación en línea. De esta forma, todos los datos pueden almacenarse localmente en la tienda y transferirse al mismo tiempo a las oficinas principales para garantizar que el teléfono esté activado. Este tipo de aplicación es adecuada para la Web porque necesita instalarse en cientos de lugares y necesita registrar datos localmente y en las oficinas principales .
A través de mi propia experiencia personal hoy en día hay pocas razones para usar una aplicación en línea. Muy pocos de ellos tienen grandes ventajas para sus contrapartes de escritorio, y hasta que llegue una aplicación asesina no habrá una buena razón para cambiar.
La mayoría de las publicaciones que he visto hasta ahora intentan justificar las aplicaciones web diciendo que facilitan la implementación, eliminan las "guerras del sistema operativo", que las actualizaciones son fáciles, etc.
Sin embargo, el objetivo del software es permitir que el usuario final sea productivo. El gran punto de venta de una aplicación web es facilitar el trabajo de un profesional del software. Es muy, muy difícil hacer una aplicación web enriquecida que se compare favorablemente con una aplicación de escritorio. Por lo general, hay muchos compromisos de usabilidad que deben hacerse.
A veces esos compromisos valen la pena, pero el objetivo principal siempre debe ser brindar al usuario final la mejor experiencia posible. He visto pocas aplicaciones web que hacen eso y aplicaciones de escritorio.
Por supuesto, puede decir "pero la característica de ejecutar desde cualquier navegador está sirviendo al usuario". Quizás, pero tomaré una aplicación difícil de implementar pero fácil de usar sobre la aplicación fácil de implementar pero no tan fácil de usar cualquier día de la semana, si es algo con lo que tengo que interactuar regularmente.
Uso turbotax en línea porque es algo que ocurre una vez al año y la función de actualización instantánea es crítica, pero de ninguna manera me gustaría ejecutar Quicken desde una aplicación basada en la web. De ninguna manera, no cómo.
Las aplicaciones basadas en web no son más populares entre los usuarios de las aplicaciones.
Pero los usuarios de aplicaciones a menudo no pagan por su propio software.
Los compradores de software no toman decisiones basadas en los méritos técnicos.
Las principales razones son IMO
- Funcionan desde cualquier computadora conectada a Internet, no solo la que tiene el software instalado.
- Cuando hay una actualización, simplemente la envía al servidor y todos obtienen la nueva versión la próxima vez que inician sesión.
No estoy de acuerdo con Rich en que, en mi experiencia, las aplicaciones web son más populares, pero depende de lo que quieras decir por popularidad.
Lo que quiero decir por popularidad, en este caso, es que si acepto un trabajo de programación aleatoria en una empresa de software pequeña o mediana al azar, esperaría que estén trabajando en software para la web. Hay muchas excepciones a esta regla, por supuesto, pero la tendencia general durante la mayor parte de una década ha sido hacia el desarrollo web.
Muchas de las otras respuestas dan buenas razones para favorecer el desarrollo web:
- Sin complicaciones proceso de instalación / distribución
- Relativa facilidad de soporte multiplataforma
El enorme en mi opinión es, como Rich dice, "costo percibido reducido". El desarrollo web tiene una barrera de entrada muy baja en comparación con otros métodos de programación. Puede comenzar con HTML y CSS, pasar a JavaScript, pasar a PHP y Flash, y en ese momento llamarse desarrollador web. Entornos como C ++ y Java tienen una curva de aprendizaje brutal en comparación.
En mi experiencia, las personas con mentalidad empresarial están tan atrapadas en cómo el desarrollo web "fácil" es que a menudo olvidan que hay alternativas. Una vez estuve en un proyecto donde se solicitó inicialmente un proyecto web, y el gerente de proyecto se sorprendió cuando el equipo de desarrollo dijo que sería más barato desarrollar una aplicación de escritorio según los requisitos. Las personas no técnicas pueden simplemente asumir que una aplicación web cuesta menos porque no entienden la diferencia.
Para mí, la razón principal para favorecer las aplicaciones web sobre las aplicaciones de escritorio es que son muy fáciles de distribuir. No tengo que instalar la aplicación, preocúpese si no va a funcionar debido a algún problema relacionado con el cliente, como un firewall personal o conflicto con otra aplicación, etc.
Otra razón es que puedo enviar actualizaciones a la aplicación fácilmente.
Tal vez la respuesta para usted es simplemente que cualquiera de las dos funciona igual de bien. Sin más información, no puedo ver que haya una razón abrumadora de que su aplicación sea una mejor aplicación web. Pero por las razones mencionadas anteriormente, las aplicaciones web son muy atractivas.
Su punto en general es falso: las aplicaciones web no son más populares que las aplicaciones locales.
En su caso específico , el cliente probablemente quiera aprovechar estas cosas:
- actualizaciones sin problemas
- disponibilidad desde cualquier máquina sin tener que instalar el software del cliente
- "no se bloquea"
- capacidad de probarlo antes de terminar el software
- costo reducido percibido.
Si no está de acuerdo con su evaluación, podría tratar de persuadirlos de que su experiencia sugiere que una aplicación web no es la más adecuada para esto.
O tal vez debería considerar explorar marcos web basados en la continuación, como Seaside . Hacen que el estado persistente a través de las interacciones sin estado sea más directo.
para ser sincero, porque en el día de pre.Net, las aplicaciones web tenían tres ventajas principales sobre las aplicaciones de winform basadas en COM, que las hacían preferibles en casi todas las situaciones.
1. They required no installation or deployment on client machines
2. They could not break other apps on the client machine.
3. They could be made to function on just about any computer in the world that had a browser and could connect to the application''s web server.
Estos problemas fueron importantes porque para una aplicación winforms en aquel entonces, eran una pesadilla, especialmente los puntos 1 y 2. Cuando se lanzó .Net, los dos primeros puntos se volvieron irrelevantes ... Aplicaciones .Net, con clic una vez implementación, y no dependencia de las claves del Registro / GUIDS para el resurtido binario y la interoperabilidad de los componentes (los metadatos para implementar contracys binarios se almacenan en el propio componente, en lugar de en el registro de la máquina), estos problemas se volvieron irrelevantes.
En general, la única razón por la que hoy en día preferimos una aplicación web es # 3, donde su base de clientes incluye plataformas que no son de Internet.
- Copia de seguridad de datos / archivos ... con suerte.
- Actualizaciones automáticas e instalaciones