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áles son los mejores temas de color para una aplicación web (herramienta de gestión de proyectos)?

Cómo determinar si crear una aplicación móvil o una aplicación web para empresas

¿Qué elegirías para estudiar en estos días para el desarrollo web y de aplicaciones: Ruby on Rails o Java? ¿Por qué?

¿Cuál es el mejor enfoque para la ramificación de Git cuando un equipo trabaja en una aplicación web?

¿Podemos hacer aplicaciones web pesadas usando Yii 2?

¿Cómo crear una plataforma simple basada en la web para conectar compradores y vendedores de un producto específico en un área geográfica específica? Debería subcontratar

¿Cuáles son los pasos para crear una aplicación web PHP?

¿Cómo se pueden obtener los rastros de los servidores web de las grandes empresas para ser utilizados de forma confidencial con fines de investigación?

¿MEAN stack es una buena dirección / aprender si quiero construir una aplicación web?

¿Preferiría asignar JSON a un modelo de objetos o usar JSON simple?

¿Es JavaScript el mejor lenguaje de codificación para aprender a crear utilidades / mini aplicaciones basadas en la web?

¿Es el futuro de las aplicaciones HTML5?

¿Cómo probar lo que construyó un desarrollador web? Nos encanta lo que está construido, solo queremos asegurarnos de que sea seguro, escalable, etc. ¿Existe un servicio que 'pruebe'?

¿Me puede dar ejemplos de aplicaciones web basadas en datos?

¿Qué necesito saber para hacer el desarrollo web de Python?