En el desarrollo de software, ¿cuál es la diferencia entre las aplicaciones de escritorio y las aplicaciones web?

Además del punto obvio que es, una aplicación de escritorio se ejecuta en su computadora, mientras que una aplicación web, por definición, se ejecuta en la computadora de alguien más (un servidor web), un punto más revelador es la administración del estado.

La web no tiene estado. La implicación de esto es que cada vez que hace clic en algún tipo de botón de envío o botón de guardar en un sitio web, el código del lado del navegador debe enviar algo que le diga al servidor remoto quién es usted y qué proceso está tratando de lograr. Esto generalmente se hace con sesiones o cookies. Una aplicación de escritorio mantiene el estado durante el uso, es decir, abre una ventana de edición, la interfaz gráfica de usuario “recuerda” que está editando algo debido al hecho de que la ventana de edición ahora está abierta y el archivo que está editando se almacena en la memoria RAM local. la máquina.

Aparte de eso, funcionalmente no hay mucha diferencia, la web simplemente introduce una conexión de red entre el usuario y los datos almacenados, mientras que una aplicación de escritorio se puede ejecutar en una computadora no conectada a una red.

Esto no es difícil y rápido, dependiendo de la arquitectura o el diseño del software, podría estar en cualquier parte del espectro entre ambos modelos.

Las aplicaciones web pueden ser superiores en tareas administrativas, es decir, para actualizar la aplicación, solo se necesita actualizar una instalación, mientras que para las aplicaciones de escritorio en un entorno de oficina, todas las aplicaciones de escritorio deben actualizarse.

En una aplicación web, generalmente el trabajo pesado se realiza de forma remota. Esto puede significar que una aplicación web puede ampliar sus capacidades de procesamiento con máquinas virtuales, etc., lo que significa que la mayor cantidad de datos que se pueden agrupar puede estar vinculada a la cantidad de servidores que manejan sus solicitudes.

Por supuesto, debido a esto, también hay problemas de seguridad. Todos sus datos se transmiten a través de Internet con una aplicación web. Dependiendo de qué tan paranoico seas, esto podría ser otra consideración importante. Una vez que conecta una computadora a una red, es vulnerable a los ataques, gracias a las muchas “partes móviles” involucradas con las comunicaciones basadas en la red entre varias máquinas cliente.

En las aplicaciones de escritorio, la IU nunca se basa en solicitudes HTTP. Hablas directamente con tu capa de datos.

Debido a esto, los marcos para desarrollar aplicaciones de escritorio son diferentes de los marcos para desarrollar aplicaciones web. Hay algunos cruces en términos de lo que constituye una buena arquitectura, pero las posibles dificultades son diferentes.

La mayoría del software nuevo de hoy está desarrollado para la web. Solo me han pagado para trabajar en una aplicación de escritorio en mis 10 años de hacer software.

Las aplicaciones de escritorio son aplicaciones independientes que se ejecutan en su computadora de escritorio o portátil, también se denominan aplicaciones nativas. Las aplicaciones web se ejecutan dentro de un navegador web. También tiene aplicaciones híbridas que se ejecutan en su escritorio, pero que pueden actualizarse diariamente en línea (un ejemplo) o tienen otras funciones relacionadas con Internet.

More Interesting

¿Cuál es la mejor manera de agregar anotaciones a un video en la web que no creó?

Cómo almacenar y recuperar eficientemente los datos del diccionario de definiciones para una página de texto

¿Puede dar sugerencias sobre las mejores aplicaciones web de seguimiento de vehículos (con funciones)?

Adobe Photoshop: ¿Cuál es la mejor herramienta para crear prototipos de gráficos web y de aplicaciones?

¿Cuáles son los mejores CMS o plataformas para construir mi propio sitio web para vender mis canciones?

¿Cómo analizamos informes resumidos en JMeter para probar la carga de una aplicación web?

¿Cuántas horas debería pasar un gerente de proyecto en la planificación de un nuevo sitio web o aplicación web?

¿Cómo puedo implementar el desguace web con sitios de redes sociales?

Estoy buscando patrones de IU útiles que faciliten la creación de un objeto complejo o actividad de entidad / registro de cambios para un CRM. Las entidades incluyen un cliente potencial (cliente futuro o actual) con sus datos personales, direcciones de envío, pedidos, conversaciones por correo electrónico, teléfono y mensajes de texto, etc. ¿Cómo hago esto?

¿Por dónde empezar para crear una aplicación web que realice una gran cantidad de consultas a la base de datos? ¿Cómo almacenar en caché para reducir el impacto de la base de datos?

¿Qué marco es bueno para crear una aplicación de Android y una aplicación web en Python?

¿Es la aplicación secreta un poco turbia? ¿La gente entiende cómo agregará valor a la sociedad?

¿Es correcto que Python tenga un rendimiento lento para crear aplicaciones web?

¿Cómo las grandes aplicaciones web como Quora estructuran su sitio y su código para ser utilizados en múltiples miembros del equipo?

¿Cuál es la mejor empresa de desarrollo de aplicaciones web en la India?