Web 2.0

Hasta hace un par de meses no conocia de esta llamada Web 2.0, de hecho no sabia que habia versiones de la web, y no es hasta ahora que me doy cuenta que esta “Web 2.0″ ha estado frente a nosotros desde hace un buen tiempo.

Pero que es la Web 2.0, bueno, como todas las nuevas tendencias en internet que evolucionan a pasos agigantados, lo que hoy se define como Web 2.0 tal vez se quede corto para lo que realmente sera la Web 2.0, pero algo es seguro y es que las bases estan fundadas. Un sitio del tipo web 2.0 es aquel que nos traera contenido de forma dinamica e intuitiva, sin interrupciones, en pocas palabras, la fluidez de la informacion.

Ejemplos de la web 2.0 las da Google, con sitios como Google Maps, el intuitivo Google Suggest, o el popular Gmail. Pero no es solo Google, sitios como Flickr [photosharing] o ZohoWriter [word editor] empiezan a mostrar las capacidades de estas tecnologias, y como estos nacen nuevos sitios cada dia.

Creo que para muchos de nosotros, todo esto pasa desapercibido, y ese tal vez sea uno de los puntos mas importantes. Al final no me importa si es 1.0 o 2.0, simplemente quiero que mi mail llegue a su destino, y mi bandeja de entrada no se llene de spam, o abrir mi buscador y encontrar lo que busco en la primera pagina. Pero si esto se puede hacer agregandole un poco mas de ’suavidad’, facilidad y estilo, por que no hacerlo. Con esto no me refiero que todo este buzz por las nuevas aplicaciones web sea solo por un diseño mas vistoso o una interfaz mas interesante, sino que mucha de la funcionalidad de estas tecnologias, en mi opionion estan aun por probarse, lo que se ha visto hasta ahora es solo el comienzo.

Ahora, apelando a mi lado geek, es donde realemente nacio mi interes por todo esto. Que es lo que se esconde detras de todo esto.

Las tecnologias para llegar a crear un sitio tipo web 2.0 realmente no tienen nada de nuevo, muchas de ellas se remontan a la decada de los 90’s, inclusive mas atras (He hecho mis investigaciones..). Lo que cambia es el enfoque que se le da al desarrollo de una aplicacion web, y esto es el enfoque asincronico. A que se refiere esto? bueno simplemente es como el cliente (nuestro browser) y el servidor (host donde se aloja el site) se comunican.

Por ejemplo, habitualmente, la comunicacion entre cliente servidor siempre ha sido de la siguiente manera, yo veo el contenido de un sitio en mi browser, y si quiero ver otra informacion, hago click en un link que me llevara a otra pagina o bien, si quiero enviar datos al servidor envio la informacion a traves de una forma utilizando un boton enviar, y el servidor me envia una pagina de respuesta, muchas veces con un mensaje de confirmacion que nuestra informacion ha sido enviada. A esta forma de comunicacion de peticion-respuesta se le conoce como sincronica. Cual es el problema con esta forma? Ha funcionado bien hasta ahora… bueno, tiene sus desventajas, una de ellas es los tiempos muertos; que sucede cuando uno envia una peticion al servidor? normalemente la informacion viaja al servidor, esta es procesada por el mismo para luego devolvernos los datos de respuesta que a su vez seran recargados en nuestro browser. Y mientras tanto que hacemos nosotros.. nada realmente, solo nos queda esperar; no falta aquel que se desespera y presiona su boton de enviar varias veces produciendo un error de carga. Algunas veces, todo este trabajo no es necesario, por ejemplo, si contestamos una pequeña encuesta, como la que normalmente vemos en algunos portales, los datos que necesitamos modificar son pocos, mas sin embargo, el servidor recibe la peticion y lo que el envia no es solo la informacion de los resultados de esta encuesta, sino que nos devuelve toda la pagina completa, haciendo el proceso mas lento y pesado de una manera innecesaria. Es ahi donde entra ahora el enfoque asincronico.

El enfoque asincronico se basa principalmente en algo que se le conoce como AJAX, un acronimo para Asynchronous JavaScript + XML por sus siglas en ingles. El enfoque es bastante simple, haciendo uso de la tecnologia de java y xml, nuestro browser carga la informacion inicial, mientras tanto, trabajando en el fondo estan nuestros scripts enviando y recibiendo informacion de el servidor para mostrarnos solo la informacion necesaria u ocultando porciones de la misma. Asi para nosotros, la informacion aparece de una forma mas rapida y sin necesidad de recargar la pagina. Solo traemos lo que necesitamos.

Tomando el ejemplo de la encuesta. Nuestro script podria recibir la peticion del usuario, en este caso su voto, enviar esa informacion al servidor, el servidor procesa esto y nos envia la informacion de resultado, todo esto ocurriendo en el fondo, mientras que el browser solo redibujaria la porcion de esa pagina sin afectar los demas elementos del sitio, pasando casi imperceptible para el usuario, pues la necesidad de recargar todo el sitio es ya innecesaria. Todo esto no es solo mas rapido ydinamico para el usuario, sino que el servidor se ve desahogado, pues las cantidades de informacion que necesita enviar son mucho menores, agilizando asi el proceso.

Bueno, pero donde entra exactamente el XML? XML es el corazon de todo esto. Mas especificamente, el objeto XMLHttpRequest, que es el encargado de llevar esta comunicacion asincronica. Inicialmente este objeto fue implementado por Microsoft como un componente ActiveX, para despues ser aceptado de forma nativa por los browsers de Mozilla, Safari de Apple, entre otros. He ahi otra de las ventajas de AJAX, estas tecnologias se ha vuelto estandar en la mayoria de los browsers actuales, asi que no necesitamos de nada mas para trabajar con un sitio Web 2.0.

AJAX no es una tecnologia en si, sino mas bien una combinacion de tecnoligias, usadas de una manera diferente y para lograr resultados antes no vistos en las aplicaciones web tradicionales.

Asi, recapitulando, AJAX se compone de las siguientes tecnologias..

  • XHTML y CSS para presentar la informacion de manera estandar
  • DOM (Document Object Model) para exibir informacion de manera dinamica
  • XML para el intercambio de informacion
  • XMLHttpRequest para la recuperacion asincronica de los datos
  • Javascript para enlazar todo lo anterior

Este enfoque asincronico, cuyo motor es AJAX, no es para todo tipo de sitios, ademas como todas las nuevas tendencias que surgen en internet, a veces hacemos sobreuso de estas tecnologias, resultando en un sitio que puede ser confuso para nuestros visitantes. Sin embargo, AJAX es mas que una tendencia como por ejemplo DHTML o inclusive javascript en su momento. Es una manera diferente de interactuar entre cliente y servidor, que a larga podria llevar a nuevas aplicaciones que tal vez hasta ahora podrian parecer solo posibles en las aplicaciones de escritorio, con la ventajas que ofrece una aplicacion web.

He empezado a experimentar un poco con las tecnologias AJAX, por la red existen algunos tutoriales, pero aun es dificil encontrar una manera estandar para trabajar con AJAX, pues aunque estos tutoriales comparten las mismas bases, difieren un poco en su metodologia, es cuestion de encontrar la que mas se acomode a nuestras necesidades.

4 Comments

Trackbacks / Pingbacks

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*