Cuál es la diferencia entre una aplicación basada en el cliente y una basada en el servidor?

Aplicación Cliente Servidor vs Aplicación Web

Una aplicación que se ejecuta en el lado del cliente y accede al servidor remoto para obtener información se llama aplicación cliente/servidor mientras que una aplicación que se ejecuta completamente en un navegador web se conoce como aplicación web. El cliente-servidor siempre hace peticiones al servidor remoto para obtener alguna información. La interacción del usuario con el servidor es siempre a través de una interfaz de usuario o aplicación en el lado del cliente. La interacción del usuario en una aplicación web es a través de un navegador web. Una aplicación cliente-servidor puede ser específica de una plataforma, así como multiplataforma, dependiendo del lenguaje de programación utilizado. Una aplicación web es independiente de la plataforma porque sólo requiere un navegador web. El lenguaje de plataforma cruzada hace que una aplicación parezca nativa para la plataforma o el sistema operativo del cliente.

La aplicación cliente/servidor siempre está instalada en el ordenador del cliente, a diferencia de una aplicación web. Las aplicaciones web pueden ejecutarse directamente en los navegadores y, por tanto, no requieren ninguna instalación. Una aplicación cliente-servidor utiliza una arquitectura de dos niveles, mientras que una aplicación web utiliza una arquitectura de varios niveles que consta de: cliente usuario, nivel intermedio y servidor de aplicaciones. Una aplicación web utiliza un sistema de usuario único, a diferencia de una aplicación cliente-servidor que utiliza dos usuarios: el cliente y el servidor.

Una aplicación web se aloja en un entorno controlado por el navegador, o suele estar programada en un lenguaje compatible con el navegador. JavaScript es el lenguaje soportado por el navegador más utilizado. En las aplicaciones cliente/servidor, el equipo servidor es un anfitrión que ejecuta programas de uno o varios servidores que comparten sus recursos con los clientes. Un cliente siempre solicita a un servidor información o contenido sin compartir ninguno de sus recursos.

En una aplicación cliente/servidor, es difícil probar los errores de scripting mientras que en las aplicaciones web es fácil probar los errores de scripting. Los tipos específicos de clientes utilizados en un modelo cliente/servidor son los navegadores web, los clientes de correo electrónico y los clientes de chat en línea. Los tipos de servidores utilizados son: servidores web, servidores ftp, servidores de aplicaciones, servidores de bases de datos, servidores de nombres, servidores de archivos, servidores de correo, servidores de terminales y servidores de impresión.

En un modelo cliente/servidor, el servidor suele sobrecargarse a medida que aumenta el número de peticiones simultáneas de los clientes. En una aplicación web, este problema queda descartado, ya que basta con un navegador web compatible para que la aplicación web funcione. Algunos ejemplos de aplicaciones web son: Yahoo mail, Gmail, WebOffice, Google Apps, Microsoft Office Live, WebEx, etc.