1.1 Lenguajes de programación en entorno cliente

Hemos estudiado en el apartado anterior que hay  dos grupos de tecnologías, client-side  aquellas que son ejecutadas en el cliente, generalmente en el contexto del navegador web y cuando los programas o tecnologías son ejecutadas o interpretadas por el servidor estamos hablando de programación server-side. Uno de los objetivos en la programación web es saber escoger la tecnología correcta para tu trabajo ,el lenguaje más apropiado en cada caso. En general las tecnologías client-side y server-side poseen características que las hacen complementarias más que adversarias.

capas
Imagen de Pixabay de  Cleker bajo licencia Creative Common CCO

Por ejemplo, piensa en un formulario web, para su correcta funcionalidad intervienen las tecnologías del lado del cliente y el  lado del servidor. El formulario nos permite recoger información y grabarla en una base de datos, es obvio que tendría más sentido chequear el formulario en el lado del cliente para asegurarnos que la información introducida es correcta, justo antes de enviar la información a la base de datos del servidor.  La programación en el lado del cliente consigue que la validación del formulario sea mucho más efectiva y que el usuario se sienta menos frustrado al cubrir los datos en el formulario. 

Entorno a los lenguajes de programación de entorno cliente, se distingue:

  • Lenguajes que nos permiten dar formato y estilo a una página web (HTML, CSS, etc.).
  • Lenguajes que nos permite aportar dinamismo a páginas web (lenguajes scripting tales como JavaScript o VBScript).

En este tema nos vamos a centrar principalmente en estos últimos, los lenguajes de scripting, y en particular en el lenguaje JavaScript. Lo estudiaremos en el siguiente punto, pero debes saber que es el lenguaje  más utilizado en la programación en el lado del cliente, y está soportado mayoritariamente por todas las plataformas.

La siguiente imagen  presenta un esquema de las cuatro capas del desarrollo web en el lado del cliente, en la que se puede ver que JavaScript se sitúa en la capa superior gestionando el comportamiento de la página web.

capas
Imagen estructuras de cuatro capas del desarrollo web en el lado del cliente de creación propia  

Características

Los lenguajes de programación para clientes web no sustituyen a  la programación en el lado del servidor. Cualquier web que reaccione dinámicamente a interacciones del usuario o que almacene datos, estará gestionada por lenguajes de script en el lado del servidor, incluso aunque usemos JavaScript en el cliente para mejorar la experiencia de usuario, por varios motivos:

  • Los lenguajes de script por sí mismo no pueden escribir ficheros en el servidor.
  • No todos los clientes (navegadores, dispositivo móviles, etc.) web ejecutan JavaScript. 

Uno de los aspectos que favorecen el auge de los script ha sido la integración con ajax. Por ejemplo,  así es como funciona una de las webs más populares en Internet, el servicio de Google Maps. ¿Pero qué nos aporta los lenguajes en el cliente?¿Cuál son las ventajas? Dan soluciones para:

  • Conseguir que nuestra página web responda o reaccione directamente a la interacción del usuario con elementos de formulario y enlaces hipertexto.
  • Controlar múltiples ventanas o marcos de navegación.
  • Pre-procesar datos en el cliente antes de enviarlos al servidor.
  • Modificar estilos y contenido en los navegadores de forma dinámica e instantáneamente, en respuesta a interacciones del usuario.
  • Solicitar ficheros del servidor, y enviar solicitudes de lectura y escritura a los lenguajes de servidor.