iFrames… el AJAX para pobres

Tranquilos que no soy tan zote, sé que AJAX y los iframes no tienen nada que ver… pero con este título hiperbólico intento transmitiros una idea importante: no mates moscas a cañonazos.

Tranquilos que no soy tan zote, sé que AJAX y los iframes no tienen nada que ver… pero con este título hiperbólico intento transmitiros una idea importante: no mates moscas a cañonazos.

Una de las ventajas de AJAX es que puedes renovar una parte de tu página sin necesidad de refrescarla por completo… con lo que ganamos mucha velocidad y el usuario percibe mayor agilidad en el uso de tu web. Por ejemplo, en Gmail cuando marcamos con una estrellita un e-mail, la página no se refresca, simplemente la estrella aparece mágicamente (y por detrás corre un proceso en el que se guarda ese cambio de estado).

El problema es que hacer desarrollos en AJAX es complejillo porque el Javascript es muy pejiguero… por lo que hay que valorar si puedes conseguir un resultado similar sin tantas complicaciones, sobre todo si no tienes un equipo de desarrollo tan numeroso como el que trabaja en el proyecto Gmail.

Conseguir algo similar de una manera más sencilla, más simple… te permite destinar el tiempo que ahorras a hacer más cosas y en el futuro tú o a quien le toque no tendrás que invertir mucho tiempo en investigar como estaba hecho algo, porque lo sencillo lo entiende todo el mundo. 

Abandonando un poco el romanticismo 2.0 que nos invade a todos, a veces analizándolo fríamente podemos llegar a la conclusión de que un par de iframes pueden resolvernos la papeleta sin muchas complicaciones o que no es tan complicado seleccionar una opción en un desplegable con 100 elementos ordenados alfabéticamente (y no es necesario que nos lancemos a programar un auto-fill en AJAX a lo Google Suggest… como decía Joel Spolsky: The Jury Is Not In, So Why Take The Risk When Your Job Is On The Line). 

En otras ocasiones nos daremos cuenta de que no hay otra manera de resolver el problema de una manera decente, entonces sí… recurriremos al AJAX o a lo que sea necesario para conseguir nuestro objetivo.

Todo esto viene a cuento de que en nuestro CMS hemos mejorado la manera en la que se asignan las etiquetas a los posts, pasando esa funcionalidad a una página independiente (como si fuera un módulo) e incrustándola posteriormente en los lugares necesarios a través de un iframe. Esto nos permite hacer cambios en etiquetas muy rápidos, sin refrescos completos de la página -efecto similar al que conseguiríamos con AJAX- y además añadir con mucha facilidad ese mismo módulo en otras páginas, por ejemplo en nuestra integración con el API de 11870:

Otra ventaja es que ahora podemos seguir toqueteando ese módulo de manera independiente, con la tranquilidad de que no nos vamos a cargar otra funcionalidad más compleja.
 
La solución no es sofisticada, pero no hemos tardado ni dos horas en hacerlo, mientras que con AJAX habríamos tardado mucho más… y no tengo claro cómo hubiéramos podido luego re-utilizar ese código en otras secciones de la herramienta.

Por lo tanto: se práctico, ahorra tiempo y si funciona bien, no lo toques.