| :: Dualidad en el desarrollo de interfaces web ¿Ajax o Flash? |
¿Ajax o Flash?. Ésta es una de las muchas preguntas sin respuesta que casi cualquier desarrollador web se ha hecho durante el último año. Argumentos a favor de ambas tecnologías (porque en ambos casos hablar de lenguaje o de entorno de desarrollo no es demasiado riguroso) los hay, y probablemente del mismo peso y defendidos con semejante vehemencia por las respectivas comunidades de desarrolladores. Pero en realidad, la discusión se puede simplificar en uno sólo: el uso de tecnologías propietarias, o abiertas, y es que el player o máquina virtual de Flash es algo cerrado, propiedad de Adobe, y el HTML dinámico basado en comunicaciones asíncronas depende de un objeto (XMLHTTPRequest) propiedad de Microsoft, aunque implementado por todos los navegadores modernos.
Evidentemente, la discusión es mucho más compleja, y en ella hay también una carga bastante fuerte de, llamémosles así, prejuicios históricos. Flash ha sido hasta hace muy poco tiempo una herramienta exclusiva para diseñadores y animadores, y si bien es cierto que con ella se han realizado algunas de las aberraciones más dolorosas para la vista que se recuerdan, no es menos cierto que también hay alguna que otra retina desprendida por el mal uso del HTML ("blink, blink").
Por eso, todos los argumentos que se puedan dar a favor de una u otra tecnología no son más que discusiones bizantinas que intentan obviar lo que debería ser la norma para cualquier desarrollador: utiliza la herramienta que mejor te pueda ayudar a resolver el problema concreto con el que te encuentres.
En cualquier caso, no estaría de más volver al vista atrás y recordar el porqué de la existencia de ambas tecnologías. En los albores de la historia moderna de Internet, allá por el 2000, se empezó a hacer patente la necesidad de superar las limitaciones intrínsecas al HTML, el lenguaje de descripción de páginas en el que se basó la web, y del modo de operación del protocolo de comunicaciones utilizado, basado en envíos de datos a un servidor remoto, y espera de la respuesta de éste para volver a presentar datos en el navegador del usuario.
En esos tiempos, había quien se ganaba las lentejas (como éste que les escribe) realizando animaciones en Javascript, un lenguaje de programación que permitía hacer maravillas visuales si se dedicaba un 80% del tiempo de desarrollo a luchar a brazo partido contra las diferentes implementaciones del lenguaje y del acceso a los elementos de la página por los navegadores existentes, incluso por las distintas versiones de un mismo navegador.
Pero en eso llegó algo nuevo: Flash. Con Flash se podía hacer lo mismo que con HTML dinámico (esto es, la combinación de HTML y Javascript), sólo que de forma mucho más rápida y que funcionaba en todos los navegadores. Y aunque ya lo he dicho, quiero insistir en ello: de forma más rápida. Mucho más rápida.
Y pasó lo que tenía que pasar: todo el mundo, al menos el mundo que gustaba de los interfaces ricos, que gustaba de salirse del aburrimiento visual del HTML, giró la cabeza, abandonó el Javascript y se pasó a Flash. Y comenzaron a propagarse por la web los equivalentes a blink y a las marquesinas, sólo que ahora con más colorines, y a veces, incluso con sonido.
Y así estuvimos unos tres años largos, creciendo con cada nueva versión de Flash, y empezando a decir que podíamos llevar la experiencia de las aplicaciones de escritorio a la web, haciendo lo que el marketing de Macromedia llamaba RIAs. (Rich Internet Applications). Ésa era la luz hacia la que todos íbamos, el cielo que todos perseguíamos: las RIAs.
Pero de repente, Google sacó del arroyo al Javascript, e implementó todo el cliente de su sistema de correo electrónico utilizando ese lenguaje. Y alguien más llegó y decidió que había que ponerle un nombre al redescubrimiento: AJAX (Asynchronous Javascript And XML). Y alguien más desarrolló un framework para simplificar el desarrollo en Javascript. Y alguien más llegó y decidió que esa forma de implementar los interfaces de las aplicaciones web era uno de los pilares maestros sobre las que se sustentaba lo que había comenzado a llamarse web 2.0.
Y de la noche a la mañana, los que llevaban años diciendo que Javascript no era un lenguaje de programación, se olvidaron de su poco gusto por la plataforma, y de lo poco que les gustaba que en los navegadores las cosas se movieran, o que se recargaran datos si eso se hacía en Flash, y comenzaron a loar las maravillas de AJAX.
Y ahora, nos pasamos los días de claro en claro y las noches de turbio en turbio discutiendo sobre qué es lo correcto, si implementar soluciones basadas en Flash o en XHTML con peticiones de datos asíncronas a servidor.
¿Lo correcto? ¿Cómo se puede saber qué es lo correcto? En primer lugar, conociendo las ventajas e inconvenientes de cada solución, sabiendo qué se puede y qué no se puede hacer y qué perspectivas de futuro inmediato hay. Veamos, pués, rápidamente, qué caracteriza a cada una de las dos tecnologías.
AJAX
Lo bueno:
Basada en HTML, en realidad en XHTML, por lo que debería ser fácilmente estandarizable.
Accesible. La integración de lectores de pantalla, las posibilidades de modificar el tamaño del texto por el usuario, etc siguen sin tener comparación en Flash. (Por aquí hay disidencia: ¿AJAX accesible? Si te lee Stevie Wonder se le caen las gafas de sol. La propuesta es quitarlo tanto de aquí como de Flash)
Integración con CSS. Es, por tanto, bastante sencillo separar datos de presentación, por lo que las aplicaciones son más escalables.
Ligereza. Se supone que una página con sólo HTML es más ligera que un front-end en flash, aunque en realidad el Javascript necesario para funcionar no es tan ligero, por lo que finalmente se depende de mecanismos de caché en servidor.
Javascript. Lenguaje interpretado en el navegador, sencillo, orientado a objetos (según a quién se le pregunte), especialmente orientado a manipular el DOM de las páginas.
Motores de búsqueda. Al basar los interfaces en HTML, son fácilmente indexados por los motores de búsqueda. Siempre y cuando su contenido no sea producto de una petición de datos a servidor, claro está.
Lo malo:
El usuario puede haber deshabilitado el Javascript en el navegador.
Se depende de un objeto propiedad de Microsoft para las comunicaciones asíncronas. Lo malo de esto no es que ese objeto sea propiedad de Microsoft o de cualquier otro, sino que es propiedad de alguien.
No es tan ligero como parece a primera vista.
Burdo. Por mucho que se intente, el resultado final no es comparable al de una web en Flash.
Flash
Lo bueno:
Player casi universal. Prácticamente todos los ordenadores del mundo lo tienen instalado, aunque eso no implica que el usuario de un ordenador en concreto tenga instalada la última versión del mismo, ni que no lo haya deshabilitado utilizando alguna extensión del navegador.
Calidad visual. Sobre todo con el avance en el manejo de los textos en las últimas versiones del player de Flash.
Animación, multimedia. La única forma solvente de incluir animaciones, contenido interactivo, vídeo, audio.
Lenguaje de programación de alto nivel orientado a objetos, aunque también sea interpretado en el player.
Lo malo:
Se depende de un plug-in, propietario.
Se tiende a abusar de las animaciones.
Integración con el botón de volver del navegador no es nada sencilla.
Poco accesible, a pesar de que las últimas versiones de Flash suponen una mejora sensible en este aspecto.
Está inevitablemente unido a dos cosas: el botón de "Skip intro" y los banners abusivamente invasivos.
Efectivamente, todos los argumentos a favor de una u otra tecnología en realidad contienen un argumento en contra. Y viceversa. En el fondo, no debería ser el uso de una u otra tecnología el que marque la bondad de una solución sino el buen uso que se haga de ella, la forma en la que se utiliza. Al igual que con todos los avances del ser humano, como la electricidad, el motor de explosión, o la rueda, tanto Flash como AJAX se pueden utilizar para hacer el bien y para hacer el mal.
Autor:
César Tardáguila - http://www.uoc.edu/mosaic/
Reconocimiento-NoComercial-SinObraDerivada 2.5 de Creative Commons.
|
|
|
|
| |
Agregar a favoritos
Versión Imprimible Enviar a un Amigo
Compartir:

Más editoriales - Los diez avances científicos cruciales de 2005 - Limpieza ecológica en tu hogar - Frases Celebres 'Filosofía' - Frases Celebres Deseo - Frases Celebres Televisión
|