Universitat Oberta de Catalunya

Webs en Flash

En los últimos tres años hemos visto como el uso de la herramienta Flash de Macromedia ha proliferado y como esto se ha hecho presente en las webs que visitamos. Tanto es así, que las últimas versiones de los principales navegadores ya incluyen en su distribución básica el plug-in necesario para la visualización de películas Flash.

La cuestión es si debemos usar esta herramienta en contra de otras técnicas, como por ejemplo, la programación en JavaScript, Applets Java, DHTML … Este artículo plantea diferentes aspectos que ayudarán a determinar cuándo es ventajoso el uso de Flash y cuándo no lo es, o por lo menos, a ser más críticos en el uso de dicha herramienta.

Cuando se plantea un proyecto hay varias cosas a tener en cuenta antes de decidir la técnica que se va a usar: los requerimientos funcionales y de sistema, la velocidad de carga, el tiempo de producción, el presupuesto, el mantenimiento y como no, los usuarios a quienes va dirigido. A continuación, desde el punto de vista de la herramienta/técnica, se desarrollan cada uno de estos aspectos.

Actualmente son muchas las empresas presentes en Internet a través de sus páginas web. Hacer atractiva esta presencia es uno de los objetivos que se plantean al elaborar una web, y tanto el diseño de las páginas como su funcionalidad son fundamentales. La inclusión de elementos multimedia en la web, como gráficos, animaciones, sonido y vídeo, está a la orden del día. ¿Qué problemas se plantean?

Las limitaciones a la hora de incluir sonido y vídeo en una página mediante etiquetas HTML, son importantes. La reproducción de estos elementos depende del reproductor instalado en el cliente y además, las diferencias entre navegadores se hacen evidentes en este punto. Tanto es así, que por ejemplo, la inclusión de un fichero de sonido debe hacerse de forma distinta para cada navegador. Por el contrario, Flash permite incorporar sonido de forma fácil y garantiza su reproducción en cualquier navegador (siempre y cuando tenga instalado el plugin de Flash). Esto no significa que siempre que se desee poner audio en una página la solución sea crear una película Flash. Será necesario tener en cuenta todos los aspectos que se plantean y evaluar la importancia de cada uno de ellos.

En cuanto a la reproducción de vídeo, la solución óptima tampoco se encuentra en Flash, ya que la inclusión de este tipo de ficheros no es posible. Una solución alternativa, es la conversión del vídeo a tantos gráficos como fotogramas contenga e incorporarlos a la película Flash. De este modo se puede conseguir el efecto deseado, y aunque técnicamente es posible realizar este método para cualquier vídeo, sólo es conveniente utilizarlo cuando el tamaño de los gráficos obtenidos es pequeño. En caso contrario, el fichero flash adquiere un tamaño demasiado grande para ser incluido en una web y hace que ésta tenga un tiempo de carga inaceptable. En general, sólo se incluirá vídeo en una web cuando este sea un elemento imprescindible, y en tal caso, se deberá permitir la posibilidad de obtener el reproductor adecuado para su visualización.

Por otro lado, la inclusión y programación de elementos dinámicos en la web es algo que desde hace mucho permiten los editores de páginas web. Las animaciones de movimiento, el uso de capas, el efecto roll-over… Muchas veces, las webs no contienen más que este tipo de elementos. ¿Por qué motivo la tendencia a usar Flash cuando lo que se pretende hacer es fácilmente realizable con un editor de webs que genera directamente el código DHTML?

Supongamos la necesidad de realizar un menú donde cada elemento además de ser un enlace, cambia su aspecto al pasar el puntero del ratón por encima. Con un editor de webs podemos programar dicho menú, pero previamente deberemos tener los elementos gráficos que lo conforman. Dichos elementos se han tenido que crear con otras herramientas, por ejemplo con Photoshop. Por tanto, además del editor deberemos conocer el uso de otras herramientas así como tener conocimientos sobre los formatos gráficos, composición y maquetación mediante tablas, y otros entresijos propios de las limitaciones del HTML. La realización de este menú en Flash, no requiere más conocimientos que el del propio programa Flash. ¿Debemos entonces usar Flash para crear un menú de estas características?

La respuesta es depende. En un ejemplo como el planteado, se deben tener en cuenta otros aspectos como el tamaño final de la página, el presupuesto y el mantenimiento. Otro ejemplo distinto son las animaciones de forma, que fácilmente se realizan en Flash y que no se pueden realizar directamente desde un editor web. Su realización mediante otras técnicas es bastante más compleja y requiere un mayor tiempo de programación.

En cuanto a las funcionalidades que van más allá de la presentación, normalmente no es posible el uso exclusivo de Flash. Un ejemplo son las webs que necesitan conectarse a una base de datos y en la que las páginas que se muestran no son estáticas, sino que son el resultado de las acciones realizadas por el usuario y de los datos almacenados. En este caso son más adecuadas otras técnicas como por ejemplo Servlets y JSP’s.

Los requerimientos de sistema no deben ser olvidados. ¿Podrá una película Flash ser visualizada en cualquier sistema? Aunque Flash no presenta problemas en los sistemas más comunes, no está implementado para la totalidad de plataformas existentes. Otra cuestión, es el terminal de salida al que va dirigido, supongamos que el proyecto se basa en mostrar la misma información en la web y en un teléfono móvil. En este caso la solución no podría pasar por flash (al menos en la parte del terminal móvil ).

El estudio sobre el tiempo de carga debe realizarse siempre, sea cual sea la técnica utilizada. Un tiempo de carga elevado hará que el usuario abandone la web cansado y aburrido. Muchas veces recurrir a JavaScript es ventajoso en este aspecto, ya que el código se encuentra incluido en la página en forma de texto llano y se carga mucho más rápido.

El hecho de que Flash trabaje con gráficos vectoriales influye positivamente en el tamaño del fichero ejecutable que se incluye en la web, y por tanto en el tiempo de carga. Ahora bien, el hecho de usar Flash no significa que esto sea necesariamente así. Como cualquier herramienta y lenguaje de programación debe usarse de forma correcta para sacar el máximo partido. Además, no siempre las páginas web tienen un alto contenido en gráficos y animaciones, y esto debe tenerse en cuenta a la hora de tomar una decisión. Por ejemplo, ¿para qué crear una película flash, si tan sólo hay una bola de 20 píxels de diámetro girando? La solución podría estar en crear un sencillo gif animado. ¿Y si la bola es 10 veces más grande? Una película Flash siempre contiene como mínimo el tamaño del runtime de Flash, y a esto se añade el tamaño de los elementos que incluye. El tamaño del gráfico se deberá tener en cuenta en la elección de la herramienta.

El plazo de producción y el presupuesto influyen muy directamente en la realización de un proyecto. En muchas ocasiones, el perfil de los profesionales disponibles determina la técnica que se utilizará ya que no siempre será posible invertir en investigación o ampliación de personal. Aunque herramientas como Flash han permitido que profesionales de ámbitos muy distintos accedan al mundo de la creación de webs, debido a que una sola persona puede realizar desde el diseño hasta la programación, es fácil que esto repercuta desfavorablemente en la calidad y funcionalidad final del producto.

Tan importante como la creación de una web, es su mantenimiento. La complejidad de la web y el personal disponible determinan el coste del mantenimiento. Tener en cuenta este parámetro es muy importante en páginas que deben actualizarse frecuentemente, como por ejemplo, la página principal de una web que cada mes muestra un gráfico distinto para sus apartados que cambian de contenido. En este caso, si la página es HTML, o es una JSP es suficiente con cambiar el gráfico en el directorio correspondiente del servidor. Si la página está hecha en Flash se deberá cambiar el gráfico en el fichero fuente, generar el fichero ejecutable y cambiar el fichero en el directorio correspondiente del servidor, y además, la persona encargada de este mantenimiento deberá conocer Flash.

La navegación y las prestaciones deben ser adecuadas al perfil de usuario al que va dirigida la web. Si para un joven, el hecho de que el acceso a la información esté supeditado a tener que bajar programas e instalarlos, no es en general un problema, sí puede serlo para un niño, una ama de casa o para quien sólo se ha conectado a internet para leer su correo electrónico. ¿Cuál sería la reacción de cualquiera de estos usuarios ante el mensaje: “¿Desea instalar el plug-in de Flash?” ?. El éxito de la web dependerá de los accesos a ésta, y por tanto, no tener en cuenta al público a quien va dirigida supone un importante error.

En definitiva, estructurar la web en pequeños módulos independientes nos permitirá crear un producto más flexible en todos los aspectos. Desde la producción, en que cada módulo podrá ser realizado por personas distintas y se podrán solapar tareas en el tiempo, pasando por utilizar la herramienta/técnica más adecuada para lograr el objetivo de cada módulo, hasta el mantenimiento, mucho más sencillo debido al aislamiento de posibles errores. Si conseguimos además separar el contenido de la presentación (mediante, por ejemplo, XML), tendremos como resultado que cada perfil podrá dedicarse a lo suyo, sin conocer detalles de la implementación, complejos o desconocidos para él. La mejor opción es compaginar diferentes técnicas para cada una de las partes que componen el proyecto. Las películas Flash pueden estar incluidas en una página HTML. Podemos incluir tantas como sea necesario y además pueden comunicarse a través de parámetros y llamadas con otros elementos de la página. El uso de Flash para algunos elementos que conforman la web es una solución acertada, y no, la realización en una sola película Flash de toda una web.