Hoy hablaremos de las diferencias entre las aplicaciones web y de escritorio. No prometemos que podamos ser completamente imparciales, pero trataremos de considerar honestamente todos los pros y los contras.

Una aplicación web funciona a través de un navegador, utilizándola como tiempo de ejecución, una aplicación de escritorio ; se instala, inicia y ejecuta localmente. Vamos a compararlos según sus principales características.

Instalación, actualización

La aplicación web no requiere instalación, todas las actualizaciones se realizan en el servidor, se entregan a los usuarios de inmediato; solo necesita volver a cargar la página o salir y luego volver a iniciar sesión en su cuenta. Pero a veces, para que funcione, es necesario instalar bibliotecas adicionales o utilizar protocolos de red seguros.

La aplicación de escritorio debe instalarse en una computadora o dispositivo móvil, y debe actualizarse cada vez que se lanza una nueva versión. Aunque la mayoría de las veces el proceso está automatizado, todavía requiere el tiempo de los usuarios y los recursos del dispositivo. Además, deberá realizar un seguimiento de las versiones en cada computadora, teléfono inteligente y tableta.

Publicar / implementar

La aplicación web se publica en un servidor local o en la nube y el proceso de actualización se lleva a cabo allí. En este caso, el servidor es necesario en cualquier caso, incluso si la solución es bastante simple. Después de todo, además del frontend, con el que los usuarios trabajarán a través del navegador, debe alojar el backend en algún lugar.

La aplicación de escritorio deberá instalarse manualmente en cada dispositivo. En una empresa con muchos puestos de trabajo, esto puede llevar mucho tiempo. La buena noticia es que no tienes que elegir un servidor o buscar recursos para publicar si no estamos hablando de una solución cliente-servidor.

Fiabilidad

El funcionamiento de una aplicación web depende no solo de la competencia que se desarrolle y de las características del dispositivo del usuario, sino también de la velocidad de la conexión a Internet y del rendimiento del servidor remoto.

La aplicación de escritorio funciona de forma autónoma, por lo que lo principal es la calidad del código y la estabilidad del hardware sobre el que se ejecuta este código. Pero si la comunicación con el servidor es necesaria, entonces surgen los mismos problemas que tiene el "competidor".

Disponibilidad

Se puede acceder a la aplicación web desde cualquier lugar del mundo, desde cualquier dispositivo, y los archivos de usuario están siempre a mano. Pero solo si hay una conexión a Internet o se implementa la capacidad de trabajar sin conexión y descargar y cargar datos.

La aplicación de escritorio siempre está disponible, pero solo desde el dispositivo en el que está instalada. Para trabajar desde diferentes dispositivos, tendrá que instalarlo en cada uno y también averiguar dónde almacenar los archivos para que siempre tenga acceso a ellos.

Multiplataforma

La aplicación web funcionará igualmente bien en cualquier dispositivo, puede ser una computadora estacionaria, computadora portátil, tableta o teléfono inteligente; después de todo, prácticamente no depende del hardware o del sistema operativo. Lo principal es el navegador adecuado. Normalmente, Google Chrome, Mozilla Firefox, Safari de Apple o un navegador de Windows (Microsoft Edge / Internet Explorer) funcionarán para la mayoría de los clientes web.

La aplicación de escritorio depende del sistema operativo, procesador, tarjeta de video y varios otros parámetros. Hay que tener en cuenta los matices de cada entorno (incluso cuando se "detectan" errores), escribir código teniendo en cuenta las posibles opciones, contratar desarrolladores individuales o incluso equipos completos para versiones para diferentes sistemas operativos.

Funcionalidad, rendimiento

La aplicación web depende completamente del navegador y su tecnología. Por lo tanto, existen varias restricciones, por ejemplo, en el acceso al hardware de su dispositivo. Es imposible sortear esta y otras restricciones (al menos ahora). Pero varias tareas pueden resolverse de acuerdo con el principio "lo que no se puede reescribir, se puede construir o expandir". Editores de documentos, imágenes, audio, video, gráficos 3D; sistemas de gestión de proyectos; almacenamiento de archivos; constructores sin código: funcionan correctamente en los navegadores. Las herramientas de integración de servicios rápidos y las bibliotecas de front-end amplían aún más las capacidades existentes.

La aplicación de escritorio le permite implementar cualquier función; en esto, supera a la web. En cualquier caso, nadie ha desarrollado todavía un análogo en línea completo de Photoshop o Sony Vegas. Las utilidades del sistema son el ámbito del desarrollo de escritorio. Además de los programas que necesitan funcionar en segundo plano durante mucho tiempo, por ejemplo, chats o clientes de torrents, simplemente será inconveniente trabajar con ellos a través de un navegador. Además, dicho software se usa con mayor frecuencia para proyectos específicos, con interfaces o funciones no estándar. Por lo tanto, el desarrollo web todavía no presenta ningún peligro para los programadores de escritorio: estas tecnologías se desarrollarán en paralelo, solo para diferentes tareas.

En cuanto a la velocidad del trabajo, no todo está tan claro como parece. Aunque el cliente del navegador intercambia datos constantemente con el servidor, el rendimiento dependerá en gran medida de cuán competente esté diseñado, la "pureza" del código, las capacidades del equipo y la estabilidad del canal de comunicación. La diferencia en el rendimiento, que es obvia durante las pruebas, a menudo es invisible para los usuarios.

Seguridad

La aplicación web desarrollada con protocolos modernos y herramientas de seguridad puede garantizar completamente la seguridad de los datos. Sin embargo, los desarrolladores no pueden influir en algunos puntos: navegador, servidor en la nube, canal de comunicación; pueden aumentar el nivel de seguridad debido a medios adicionales de verificación, pero también reducirlo debido a sus vulnerabilidades. Una ventaja definitiva para los usuarios: este software es más fácil de controlar. Las limitaciones del entorno hacen que sea menos probable que obtenga acceso secretamente a archivos o inicie un proceso.

La aplicación de escritorio es configurable de manera más flexible, lo que significa que teóricamente todas las vulnerabilidades potenciales se pueden prever durante su desarrollo. En la práctica, es poco probable. Sin embargo, aún puede hacerlo completamente seguro. Pero solo si el dispositivo en el que está instalado no se conecta a ningún lugar, incluso a una red local segura. De lo contrario, aún existirá un riesgo.

Es difícil (si no imposible) decir qué es más seguro. Esto está influenciado por muchos factores, principalmente el factor humano. Pero el significado de todas las medidas de seguridad radica en la protección del factor humano.

La confianza en el software de escritorio es mayor. Algunas organizaciones están fundamentalmente en desacuerdo con los navegadores y muchos usuarios todavía desconfían de ellos. Sin embargo, la situación está cambiando: con el desarrollo de las tecnologías, la lealtad de las personas hacia ellas aumenta.

Nuestros hallazgos

Las posibilidades de desarrollo de navegadores son enormes y su potencial está lejos de ser revelado por completo. La tecnología avanza, el mercado de TI está creciendo, ofreciendo cada vez más aplicaciones; en igualdad de condiciones, los usuarios elegirán la web simplemente porque es más conveniente. Si hablamos de soluciones para clientes corporativos, las aplicaciones de navegador son insustituibles. Son flexibles, versátiles, no requieren una preparación preliminar del entorno y ahorran las finanzas de la empresa, los recursos de hardware y el tiempo de los empleados.

Opinión alternativa

Pero considere una opinión diferente. Algunos desarrolladores creen que las perspectivas están lejos de estar despejadas. Las tecnologías operativas del navegador son demasiado imperfectas, ya se ha "codificado" demasiado software de baja calidad. Por lo tanto, los usuarios de soluciones de navegador recurrirán a las soluciones de escritorio. Esta tendencia continuará mientras los desarrolladores de navegadores utilicen Java Script en grandes cantidades. Solo cuando aparezca una alternativa real será posible hacer predicciones para el futuro.

Las aplicaciones web ya son adecuadas para resolver muchos problemas, tanto para empresas como para usuarios normales. Si decide desarrollar el suyo propio, utilice la plataforma AppMaster.io sin código.

Los bloques de código listos para usar y las herramientas visuales para trabajar con ellos lo ayudarán a crear una aplicación web y su back-end mucho más fácil y rápido que los métodos de programación clásicos.