Creación de aplicaciones con ActionScript

El proceso de escritura de ActionScript para crear una aplicación implica algo más que el simple conocimiento de la sintaxis y los nombres de las clases que se van a utilizar. La mayor parte de la documentación de la plataforma Flash trata estos dos temas (sintaxis y uso de las clases de ActionScript). No obstante, para crear una aplicación ActionScript también se debe conocer la siguiente información:

  • ¿Qué programas se pueden utilizar para escribir código ActionScript?

  • ¿Cómo se organiza el código ActionScript?

  • ¿Cómo se incluye el código ActionScript en una aplicación?

  • ¿Qué pasos deben seguirse a la hora de desarrollar una aplicación ActionScript?

Opciones para organizar el código

Se puede utilizar código ActionScript 3.0 para crear desde sencillas animaciones gráficas hasta complejos sistemas de procesamiento de transacciones cliente-servidor. Dependiendo del tipo de aplicación que se cree, utilice una o varias de las siguientes formas posibles de incluir código ActionScript en un proyecto.

Almacenamiento de código en fotogramas de una línea de tiempo de Flash Professional

En el entorno de edición de Flash Professional, es posible añadir código ActionScript a cualquier fotograma de una línea de tiempo. Este código se ejecutará mientras se reproduce la película, cuando la cabeza lectora alcance dicho fotograma.

La colocación del código ActionScript en fotogramas es una forma sencilla de añadir comportamientos a las aplicaciones incorporadas en la herramienta de edición de Flash Professional. Se puede añadir código a cualquier fotograma de la línea de tiempo principal o a cualquier fotograma de la línea de tiempo de cualquier símbolo MovieClip. No obstante, esta flexibilidad tiene un coste. Cuando se crean aplicaciones de mayor tamaño, es fácil perder el rastro de los scripts contenidos en cada fotograma. Con el tiempo, esta complicada estructura puede dificultar el mantenimiento de la aplicación.

Muchos desarrolladores, para simplificar la organización de su código ActionScript en el entorno de edición de Flash Professional, incluyen código únicamente en el primer fotograma de una línea de tiempo o en una capa específica del documento de Flash. La separación del código facilita la localización y el mantenimiento del código en los archivos FLA de Flash. Sin embargo, el mismo código no puede utilizarse en otro proyecto de Flash Professional sin copiar y pegar el código en el nuevo archivo.

Para facilitar el uso del código ActionScript en otros proyectos de Flash Professional en el futuro, almacene el código en archivos de ActionScript externos (archivos de texto con la extensión .as).

Incorporación de código en archivos MXML de Flex

En un entorno de desarrollo de Flex como Flash Builder, el código ActionScript se puede incluir dentro de una etiqueta <fx:Script> en un archivo MXML de Flex. No obstante, esta técnica puede añadir complejidad a proyectos de gran tamaño y dificultar el uso del mismo código en otro proyecto de Flex. Para facilitar la utilización del código ActionScript en otros proyectos de Flex en el futuro, almacene el código en archivos de ActionScript externos.

Nota: se puede especificar un parámetro de origen para una etiqueta <fx:Script> . Con el uso de un parámetro de origen se podrá “importar” código ActionScript de un archivo externo como si se estuviera escribiendo directamente en la etiqueta <fx:Script> . Sin embargo, el archivo de código fuente que se utiliza no puede definir su propia clase, lo cual limita su reutilización.

Almacenamiento de código en archivos de ActionScript

Si el proyecto contiene una cantidad importante de código ActionScript, la mejor forma de organizar el código es en archivos de código fuente ActionScript independientes (archivos de texto con la extensión .as). Un archivo de ActionScript puede estructurarse de una o dos formas, dependiendo del uso que se le quiera dar en la aplicación.

  • Código ActionScript no estructurado: líneas de código ActionScript, incluidas sentencias o definiciones de funciones, escritas como si se introdujeran directamente en un script de la línea de tiempo o un archivo MXML.

    Para acceder al código ActionScript escrito de este modo, es preciso utilizar la sentencia include en ActionScript o la etiqueta <fx:Script> en MXML de Flex. La sentencia include de ActionScript indica al equipo que incluya el contenido de un archivo de ActionScript externo en una ubicación específica y en un ámbito concreto de un script. El resultado es el mismo que si el código se incluyese allí directamente. En el lenguaje MXML, el uso de una etiqueta <fx:Script> con un atributo de origen identifica un archivo de ActionScript externo que carga el compilador en ese punto de la aplicación. Por ejemplo, la siguiente etiqueta carga un archivo de ActionScript externo denominado Box.as:

    <fx:Script source="Box.as" />
  • Definición de clase de ActionScript: definición de una clase de ActionScript, incluidas sus definiciones de métodos y propiedades.

    Cuando se define una clase, se puede acceder a su código ActionScript creando una instancia de la clase y usando sus propiedades, métodos y eventos. La utilización de clases propias es un proceso idéntico al uso de cualquier clase de ActionScript incorporada y requiere dos partes:

    • Utilizar la sentencia import para especificar el nombre completo de la clase, de modo que el compilador de ActionScript sepa dónde encontrarlo. Por ejemplo, para utilizar la clase MovieClip en ActionScript, impórtela utilizando su nombre concreto, incluyendo paquete y clase:

      import flash.display.MovieClip;

      Como alternativa, se puede importar el paquete que contiene la clase MovieClip, que equivale a escribir sentencias import independientes para cada clase del paquete:

      import flash.display.*;

      Las clases de nivel superior son la única excepción de la regla que indica que una clase se debe importar para utilizarse en el código. Estas clases no se definen en un paquete.

    • Escriba código que utilice específicamente el nombre de la clase. Por ejemplo, declare una variable con esa clase como su tipo de datos y cree una instancia de la clase para almacenar en la variable. Al utilizar una clase en el código ActionScript, se indica al compilador que cargue la definición de dicha clase. Si se toma como ejemplo una clase externa denominada Box, esta sentencia crea una instancia de la clase Box:

      var smallBox:Box = new Box(10,20);

      La primera vez que el compilador se encuentra con la referencia a la clase Box, busca el código fuente disponible para localizar la definición de la clase Box.

Selección de la herramienta adecuada

Puede utilizar una de las distintas herramientas (o varias herramientas de forma conjunta) para escribir y editar código ActionScript.

Flash Builder

Adobe Flash Builder es la principal herramienta para crear proyectos con la arquitectura Flex o proyectos que constan principalmente de código ActionScript. Flash Builder también incluye un editor de ActionScript completo, así como herramientas de edición de MXML y diseño visual. Se puede emplear para crear proyectos de Flex o sólo de ActionScript. Flex ofrece varias ventajas, como un amplio conjunto de controles de interfaz de usuario predefinidos, controles de diseño dinámicos y flexibles y mecanismos incorporados para trabajar con datos remotos y vincular datos externos a elementos de interfaz de usuario. Sin embargo, debido al código adicional necesario para proporcionar estas funciones, los proyectos que utilizan Flex pueden tener un tamaño de archivo SWF mayor que sus equivalentes que no pertenecen a Flex.

El uso de Flash Builder se recomienda para crear aplicaciones de Internet completas basadas en datos con Flex. Utilice la aplicación para editar código ActionScript, editar código MXML y diseñar aplicaciones visualmente con una sola herramienta.

Muchos usuarios de Flash Professional que crean proyectos completos con ActionScript utilizan Flash Professional para crear activos visuales y Flash Builder como editor para código ActionScript.

Flash Professional

Además de las capacidades de creación de animación y gráficos, Flash Professional incluye herramientas para trabajar con código ActionScript. El código puede asociarse a los elementos de un archivo FLA o de archivos externos que sólo contienen código ActionScript. Flash Professional resulta ideal para los proyectos que contienen una cantidad importante de animación o ví­deo. Es idóneo cuando el propio usuario desea crear la mayor parte de los activos gráficos. Otro motivo para el uso de Flash Professional en el desarrollo de proyectos de ActionScript es el de poder crear activos visuales y escribir código en la misma aplicación. Flash Professional también incluye componentes de interfaz de usuario creados previamente. Estos componentes se pueden emplear para reducir el tamaño de los archivos SWF y se pueden utilizar herramientas visuales para adaptarlas al proyecto.

Flash Professional incluye dos herramientas para escribir código ActionScript:

  • Panel Acciones: este panel, disponible cuando se trabaja en un archivo FLA, permite escribir código ActionScript asociado a los fotogramas de una línea de tiempo.

  • Ventana Script: la ventana Script es un editor de texto dedicado para trabajar con archivos de código ActionScript (.as).

Editor de ActionScript de terceros

Debido a que los archivos ActionScript (.as) se almacenan como archivos de texto sencillo, cualquier programa que sea capaz de editar archivos de texto simple se puede usar para escribir archivos ActionScript. Además de los productos ActionScript de Adobe, se han creado varios programas de edición de texto de terceros con funciones específicas de ActionScript. Se pueden escribir archivos MXML o clases de ActionScript con cualquier programa editor de texto. Es posible crear una aplicación a partir de estos archivos utilizando el SDK de Flex. El proyecto puede utilizar Flex o ser una aplicación de sólo ActionScript. De forma alternativa, algunos desarrolladores utilizan Flash Builder o un editor de ActionScript de terceros para escribir clases de ActionScript, junto con Flash Professional para crear contenido gráfico.

Entre los motivos para seleccionar un editor de ActionScript de terceros se incluyen:

  • Se prefiere escribir código ActionScript en un programa independiente y diseñar elementos visuales en Flash Professional.

  • Utiliza una aplicación para programar con un lenguaje distinto de ActionScript (por ejemplo, para crear páginas HTML o aplicaciones en otro lenguaje de programación) y desea usar la misma aplicación para el código ActionScript.

  • Desea crear proyectos de Flex o sólo de ActionScript con el SDK de Flex, sin tener que utilizar Flash Professional o Flash Builder.

Entre los editores de código que proporcionan funciones específicas de ActionScript, cabe destacar:

Proceso de desarrollo de ActionScript

Independientemente del tamaño del proyecto de ActionScript, la utilización de un proceso para diseñar y desarrollar la aplicación permitirá trabajar con mayor eficacia. En los siguientes pasos se describe un proceso de desarrollo básico para crear una aplicación con ActionScript 3.0:

  1. Diseñe la aplicación.

    Debe describir la aplicación de alguna forma antes de empezar a crearla.

  2. Escriba el código ActionScript 3.0.

    Puede crear código ActionScript con Flash Professional, Flash Builder, Dreamweaver o un editor de texto.

  3. Cree un proyecto de Flash o Flex para ejecutar el código.

    En Flash Professional, cree un archivo FLA, establezca la configuración de publicación, añada componentes de interfaz de usuario a la aplicación y haga referencia al código ActionScript. En Flex, defina la aplicación, añada componentes de interfaz de usuario utilizando MXML y haga referencia al código de ActionScript.

  4. Publique y pruebe la aplicación ActionScript.

    La prueba de la aplicación implica su ejecución desde el entorno de desarrollo y la comprobación de que todo funciona según lo previsto.

Estos pasos no tienen por qué seguir este orden necesariamente y que tampoco es necesario finalizar completamente uno de los pasos antes de poder trabajar en otro. Por ejemplo, se puede diseñar una pantalla de la aplicación (paso 1) y luego crear los gráficos, botones y otros elementos (paso 3) antes de escribir el código ActionScript (paso 2) y probarlo (paso 4). O bien, se puede realizar parte del diseño y luego añadir un botón o elemento de interfaz en un momento dado, escribir código ActionScript para cada uno de estos elementos y probarlos. Resulta útil recordar estas cuatro fases del proceso de desarrollo. Sin embargo, en una situación real suele ser más eficaz ir pasando de una fase a otra según convenga.