Resumen: Entrega nº5 del curso "Tutorial básico del programador web: Ajax desde cero".
Codificación aprenderaprogramar.com: CU01205F

 

 

QUÉ ES Y PARA QUÉ SIRVE AJAX

Ya hemos comentado que Ajax se integra dentro de los desarrollos web con lenguajes como HTML, CSS, JavaScript y generalmente con un lenguaje del lado del servidor como PHP, JSP ó ASP u otros. Hemos dicho también que su uso principal es ejecutarse del lado del cliente (computador del usuario) realizando envío y recepción de datos hacia y desde el servidor.

logo ajax

 

En esta entrega del curso vamos a ver cómo se integra JavaScript dentro de los desarrollos web en general y mostrar algunos ejemplos de su uso.

Si hiciéramos un símil entre una orquesta y un desarrollo web, el director de orquesta sería el lenguaje del lado del cliente (por ejemplo PHP), que actúa como “cerebro” controlador de la página web. CSS sería el encargado de vestuario y maquillaje, es decir, quien controla la apariencia de lo que se presenta al público. HTML sería la estructura: el encargado de cómo se distribuyen las sillas en el escenario, dónde se coloca cada músico y qué instrumento lleva cada músico. Supongamos que para distintas canciones (urls) los músicos cambian de posición (cambia la estructura HTML). JavaScript sería el encargado de efectos especiales, por ejemplo quien mueve las luces y dispara un cañón de confetis en un momento dado, una persona ágil y rápida. La base de datos (en el servidor) sería un encargado de guardar todas las partituras (información) y de ir entregándolas a medida que se lo requieren los músicos u otros encargados. Ajax sería un correveidile: una persona que se encarga de trasladar información desde un lado a otro sin necesidad de que la orquesta deje de tocar.

Esto es sólo un símil, pero nos sirve de introducción para contextualizar el papel habitual de Ajax dentro de los desarrollos web.

Una orquesta puede tocar sin director (sin lenguaje del lado del servidor), sin encargado de efectos especiales (JavaScript), sin encargado de vestuario y presentación (CSS), y sin correveidile (Ajax) pero no sin músicos (HTML). De todas formas, una buena orquesta normalmente tendrá todo el personal (recursos de programación) necesarios para que su puesta en escena sea “brillante”.

Ajax es un subconjunto de JavaScript y dado que JavaScript es un lenguaje que permite disponer de toda la potencia de la programación, Ajax se enmarca en el contexto de la programación, aunque se use junto a otros lenguajes de programación y lenguajes de etiquetas como HTML y CSS. 

Ajax es una tecnología que apareció para hacer más fácil y rápido navegar los desarrollos web. Un desarrollo web comprende múltiples áreas de conocimiento:

ajax relacion con javascript

 

 

En la clasificación que hemos hecho, Ajax estaría englobado dentro del área de programación.

Los desarrollos web tienen dimensiones muy variables. Podemos hablar desde una pequeña página web para una empresa local hasta un gran portal para una empresa de ámbito internacional. En ambos casos podríamos decir que interviene la programación web y el diseño web. Sin embargo, un pequeño desarrollo puede ser llevado a cabo por una sola persona que abarque tanto programación como diseño, mientras que un gran desarrollo requiere de un equipo de trabajo más o menos amplio y con distintos especialistas, ya que en torno a los desarrollos web hay diferentes áreas de conocimiento implicadas (análisis, diseño, programación, sistemas, integración, testing, etc.).

En un gran desarrollo existen personas especializadas en las distintas áreas, de modo que el programador no suele trabajar en el diseño (excepto para hacer algún retoque o cambio, o para solucionar problemas). No obstante, sí resulta conveniente que un programador web tenga los conocimientos suficientes de HTML y CSS ya que le resultarán útiles y necesarios, por un lado para la solución de problemas y por otro para integrar cuestiones donde el diseño y la programación se entremezclan. Por ejemplo, podremos hacer modificaciones rápidas del aspecto de una página web, cambiar un color de fondo o imagen, etc. cuando el usuario pulse un botón, mezclando JavaScript y Ajax con CSS.

Si miramos a los lenguajes o tecnologías que hay en torno a los desarrollos web podríamos hacer una clasificación que comprende: HTML, CSS, Bases de datos, Servidores, Lenguajes de programación del lado del cliente (p.ej. JavaScript incluyendo Ajax) y Lenguajes de programación del lado del servidor (p.ej. PHP). Aquí nos estamos refiriendo a paradigmas o situaciones más frecuentes.

relacion ajax html javascript

 

 

Ajax es una tecnología (o lenguaje) aceptada por todos los navegadores y que interviene en la mayor parte de los desarrollos web, especialmente si se trata de páginas de empresas grandes. Se encarga de intercambiar información de forma rápida con el servidor sin necesidad de recargar completamente las páginas.

Los lenguajes de programación del lado del servidor realizan procesos en el servidor (computador remoto que se encarga de enviar las páginas web a través de internet): podemos citar entre estos lenguajes Java (JSP), ASP.NET, o PHP  entre los principales.

Los lenguajes de programación del lado del cliente realizan procesos en el ordenador personal del usuario (efectos visuales, cálculos, etc.): podemos citar entre estos lenguajes JavaScript, Java (applets), VBScript ó Dart (impulsado por Google), entre los principales. JavaScript es el lenguaje de programación del lado del cliente más utilizado hoy día en los desarrollos web y es aceptado por todos los navegadores.

Ajax es una tecnología del lado del cliente pero por su papel está a medio camino entre el cliente y el servidor, ya que su razón de ser es enviar datos al servidor y recibir datos del servidor. Por tanto se diferencia del código “JavaScript puro” en que mientras el “JavaScript puro” no requiere del servidor, quedando completamente del lado del cliente, Ajax sí depende del servidor y no tendría sentido sin el intercambio de información con este.

En cuanto a bases de datos podemos nombrar MySQL, SQLServer y Oracle, entre las principales.

Las tecnologías se combinan entre ellas de muy diversas maneras. Podemos citar algunas combinaciones bastante habituales entre lenguajes de programación y bases de datos: Java + Oracle, ASP.NET + SQLServer, PHP + MySQL. Sea cual sea la combinación utilizada, en un desarrollo web moderno siempre intervendrá HTML, CSS y JavaScript-Ajax.

En resumen, Ajax es un subconjunto o extensión de JavaScript cuyos aspectos básicos deben ser conocidos por los programadores web. En la práctica, muchas veces se entremezcla el código de programación del lado del servidor o del lado del cliente con el código HTML y código CSS, de ahí que coloquialmente se hable de “programación web” para referirse a todo este conjunto, aunque formalmente ni HTML ni CSS son lenguajes de programación.

Fíjate que estamos tratando de dejar claro qué es y para qué sirve Ajax antes de empezar a estudiar este lenguaje porque si tenemos los conceptos claros nos será mucho más sencillo el aprendizaje, ahorraremos tiempo y cometeremos menos errores.

 

 

APLICACIONES DE AJAX EN LOS DESARROLLOS WEB

Hemos comentado que Ajax es un lenguaje que aparece en prácticamente todo desarrollo web importante. Vamos a ver algunos ejemplos de desarrollos web donde interviene JavaScript.

 

Sugerencias de Google y de buscadores en general

Todos hemos introducido una palabra o frase para ser buscada en Google. Una forma de gestionar las sugerencias de búsqueda en muchas páginas web es enviar al servidor el dato del fragmento de palabra o frase introducida hasta el momento. El servidor devuelve las palabras o frases que tiene almacenadas en su base de datos que comienzan de la misma manera.

sugerencias buscadores ajax

 

 

Filtros para resultados de búsquedas

Es frecuente por ejemplo en las páginas web que ofrecen alojamientos turísticos que se nos ofrezca filtrar resultados en base a distintos criterios. Por ejemplo una página web de viajes nos puede indicar que existen 793 alojamientos en París, y a través de un filtro podemos indicar que queremos que nos muestre sólo los alojamientos que son hoteles de 4 estrellas. Al pulsar en el recuadro “hotel de 4 estrellas” se envía la información de que el usuario ha seleccionado esta opción al servidor y el servidor responde con la información de los hoteles de 4 estrellas.

efectos ajax desarrollo web

 

 

Páginas para el diseño interactivo

Es frecuente por ejemplo en las páginas web que ofrecen la posibilidad de realizar un diseño personalizado de un espacio como una cocina. O un diseño personalizado de una camiseta eligiendo colores disponibles, imágenes disponibles, tipos de letras, textos, etc. Para mostrarnos las distintas opciones puede usarse el intercambio de información en segundo plano con Ajax. De este modo llegamos al diseño final sin tener que haber recargado múltiples veces la página.

diseño interactivo con ajax

 

 

Simuladores de código y compiladores online

Muchas web ofrecen la posibilidad de escribir código y visualizar el resultado a través de la web. Este proceso se puede realizar con Ajax, enviando el código al servidor y mostrando el resultado nuevamente en la misma web sin necesidad de recargar la página.

Ejemplo emulador código JavaScript: http://www.w3schools.com/js/tryit.asp?filename=tryjs_alert

Ejemplo emulador compilador: http://www.tutorialspoint.com/compile_vb.net_online.php

 

Juegos interactivos online

Muchas web ofrecen juegos interactivos, por ejemplo de ajedrez, donde el ordenador mueve en respuesta al movimiento del usuario intercambiando previamente información con el servidor. No todos los juegos online usan Ajax, pero algunos de ellos sí.

 

Otros ejemplos

Hay muchos más ejemplos de uso de Ajax en los desarrollos web. En general, donde haya interacción con el usuario e intercambio de información sin refresco completo de la página, es porque Ajax está detrás.

 

 

EJERCICIO

Navega por internet y visita distintas páginas. Busca 3 procesos en tres páginas distintas donde pienses que se utiliza Ajax. Para cada uno de ellos indica:

a) La url donde comienza el proceso.

b) Descripción del proceso (en qué consiste) y por qué piensas que interviene Ajax en el proceso.

c) Por qué crees que se ha utilizado Ajax en cada uno de estos sitios lugar de hacer refrescos completos de la página. Qué ventaja crees que aporta Ajax.

 

Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

 

Descargar archivo: