- ActionScript
-
Adobe ActionScript es el lenguaje de programación de la Plataforma Adobe Flash. Originalmente desarrollado como una forma para que los desarrolladores programen de forma más interactiva. La programación con ActionScript permite mucha más eficiencia en las aplicaciones de la plataforma Flash para construir animaciones de todo tipo, desde simples a complejas, ricas en datos e interfaces interactivas.
La versión más extendida actualmente es ActionScript 3.0 , que significó una mejora en el manejo de programación orientada a objetos al ajustarse mejor al estándar ECMA-262 y es utilizada en las últimas versiones de Adobe Flash y Flex y en anteriores versiones de Flex. Desde la versión 2 de Flex viene incluido ActionScript 3, el cual mejora su rendimiento en comparación de sus antecesores, además de incluir nuevas características como el uso de expresiones regulares y nuevas formas de empaquetar las clases.
Contenido
Estructura
Flash está compuesto por objetos, con su respectiva ruta dentro del swf. Cada uno de estos en ActionScript pertenece a una clase (MovieClip, botones, Vectores (Arrays), etc.), que contiene Propiedades y Métodos o Funciones.
- Propiedades: Dentro del archivo raíz de la clase, están declaradas como variables (alpha, useHandCursor, length).
- Métodos o Funciones: Dentro del archivo raíz de la clase, están declaradas como funciones (stop(), gotoAndPlay(), getURL()).
Clases
Algunas clases de ActionScript son:
- Accessibility (nivel superior)
- Array (instancias)
- Boolean (instancias)
- Button (instancias)
- Capabilities (nivel superior)
- Color (instancias)
- ContextMenu (instancias)
- ContextMenuItems (instancias)
- Date (instancias)
- Error (instancias)
- Key (nivel superior)
- LoadVars (instancias)
- Math (nivel superior)
- Mouse (nivel superior)
- MovieClip (instancias)
- MovieClipLoader (instancias)
- NetConnection (instancias)
- NetStream (instancias)
- Number (nivel superior)
- Object (instancias)
- PrintJob (instancias)
- Selection (nivel superior)
- Sound (instancias)
- Stage (nivel superior)
- String (instancias)
- StyleSheet (instancias)
- System (nivel superior)
- TextField (instancias)
- TextFormat (instancias)
- XML (instancia)
- XMLSocket
ActionScript 3
ActionScript 3.0
ActionScript 3.0 ofrece un modelo de programación robusto que resultará familiar a los desarrolladores con conocimientos básicos sobre programación orientada a objetos. Algunas de las principales funciones de ActionScript 3.0 son:
- Una nueva máquina virtual ActionScript, denominada AVM2, que utiliza un nuevo conjunto de instrucciones de código de bytes y proporciona importantes mejoras de rendimiento.
- Una base de código de compilador más moderna, que se ajusta mejor al estándar ECMAScript (ECMA 262) y que realiza mejores optimizaciones que las versiones anteriores del compilador.
- Una interfaz de programación de aplicaciones (API) ampliada y mejorada, con un control de bajo nivel de los objetos y un auténtico modelo orientado a objetos.
- Un núcleo del lenguaje basado en el próximo borrador de especificación del lenguaje ECMAScript (ECMA-262) edición 4.
- Una API XML basada en la especificación de ECMAScript para XML (E4X) (ECMA-357 edición 2). E4X es una extensión del lenguaje ECMAScript que añade XML como un tipo de datos nativo del lenguaje.
- Un modelo de eventos basado en la especificación de eventos DOM (modelo de objetos de documento) de nivel 3.
Ventajas de ActionScript 3.0
ActionScript 3.0 aumenta las posibilidades de creación de scripts de las versiones anteriores de ActionScript. Se ha diseñado para facilitar la creación de aplicaciones muy complejas con conjuntos de datos voluminosos y bases de código reutilizables y orientadas a objetos. Aunque no se requiere para el contenido que se ejecuta en Adobe Flash Player 9, ActionScript 3.0 permite introducir unas mejoras de rendimiento que sólo están disponibles con AVM2, la nueva máquina virtual. El código ActionScript 3.0 puede ejecutarse con una velocidad diez veces mayor que el código ActionScript heredado.
La versión anterior de la máquina virtual ActionScript (AVM1) ejecuta código ActionScript 1.0 y ActionScript 2.0. Flash Player 9 admite AVM1 por compatibilidad con contenido existente y heredado de versiones anteriores.
Novedades de ActionScript 3.0
A continuación se citan algunas de las nuevas funcionalidades y ventajas que ofrece esta nueva versión de ActionScript en comparación con sus anteriores versiones. En verdad es más sofisticada en cuanto su estilo y adaptación para otras.
Excepciones en tiempo de ejecución
ActionScript 3.0 notifica más situaciones de error que las versiones anteriores de ActionScript. Las excepciones en tiempo de ejecución se utilizan en situaciones de error frecuentes y permiten mejorar la depuración y desarrollar aplicaciones para gestionar errores de forma robusta. Los errores en tiempo de ejecución pueden proporcionar trazas de pila con la información del archivo de código fuente y el número de línea. Esto permite identificar rápidamente los errores.
Tipos de tiempo de ejecución
Mientras que en ActionScript 2.0, las anotaciones de tipos eran principalmente una ayuda para el desarrollador; en tiempo de ejecución, se asignaban los tipos dinámicamente a todos los valores. En ActionScript 3.0, la información de tipos se conserva en tiempo de ejecución y se utiliza con diversos fines. Flash Player 9 realiza la comprobación de tipos en tiempo de ejecución, lo que mejora la seguridad de tipos del sistema. La información de tipos también se utiliza para especificar variables en representaciones nativas de la máquina, lo que mejora el rendimiento y reduce el uso de memoria.
Clases cerradas
ActionScript 3.0 introduce el concepto de clases cerradas. Una clase cerrada posee únicamente el conjunto fijo de propiedades y métodos definidos durante la compilación; no es posible añadir propiedades y métodos adicionales; aunque sí se puede usándolas dinámicas. Cerrarlas permite realizar una comprobación más estricta en tiempo de compilación, lo que aporta una mayor solidez a los programas. También mejora el uso de memoria, pues no requiere una tabla hash interna para cada instancia de objeto.
Además, es posible utilizar clases dinámicas mediante la palabra clave dynamic. Todas las clases de ActionScript 3.0 están cerradas de forma predeterminada, pero pueden declararse como dinámicas con la palabra clave dynamic.
Cierres de métodos
ActionScript 3.0 permite que un cierre de método recuerde automáticamente su instancia de objeto original. Esta función resulta útil en la gestión de eventos. En ActionScript 2.0, los cierres de métodos no recordaban la instancia de objeto de la que se habían extraído, lo que provocaba comportamientos inesperados cuando se llamaba al cierre de método.
ECMAScript for XML (E4X)
ActionScript 3.0 implementa ECMAScript for XML (E4X), recientemente estandarizado como ECMA-357. E4X ofrece un conjunto fluido y natural de construcciones del lenguaje para manipular XML. Al contrario que las API de análisis de XML tradicionales, XML con E4X se comporta como un tipo de datos nativo del lenguaje. E4X optimiza el desarrollo de aplicaciones que manipulan XML, pues reduce drásticamente la cantidad de código necesario. Para más información sobre la implementación de E4X en ActionScript 3.0, consulte el Utilización de XML.
Expresiones regulares
ActionScript 3.0 ofrece compatibilidad nativa con expresiones regulares, que permiten encontrar y manipular cadenas rápidamente. Implementa la compatibilidad con expresiones regulares tal y como se definen en la especificación del lenguaje ECMAScript edición 3 (ECMA-262).
Espacios de nombres
Los espacios de nombres son similares a los especificadores de acceso tradicionales que se utilizan para controlar la visibilidad de las declaraciones (public, private, protected). Funcionan como especificadores de acceso personalizados, con nombres elegidos por el usuario. Los espacios de nombres incluyen un identificador de recursos universal (URI) para evitar colisiones y también se utilizan para representar espacios de nombres XML cuando se trabaja con E4X.
Nuevos tipos simples
ActionScript 2.0 tiene un solo tipo numérico, Number, un número de coma flotante con precisión doble. ActionScript 3.0 contiene los tipos int y uint. El tipo int es un entero de 32 bits con signo que permite al código ActionScript aprovechar las capacidades matemáticas de manipulación rápida de enteros de la CPU. Este tipo es útil para contadores de bucle y variables en las que se usan enteros. El tipo uint es un tipo entero de 32 bits sin signo que resulta útil para valores de colores RGB y recuentos de bytes, entre otras cosas.
ActionScript 3.0 no es compatible con PSP
El lenguaje ActionScript 2.0 es compatible para hacer juegos en PSP utilizando el navegador web, pero sólo podrán utilizarse las flechas y X, los demás botones no funcionan. Para ejecutar un archivo flash "nombre.swf" basta con crear una carpeta con el nombre FLASH en el directorio de la tarjeta de memoria de la psp en el mismo nivel que music o picture, y copiar lo siguiente en el navegador web de la psp: file:/flash/nombre.swf
Enlaces externos
- Adobe: ActionScript Technology Center (en inglés)
- Adobe User Group Grupo de usuarios de Adobe en Castellano
- Recursos en Inglés
Categoría:- Lenguajes de programación orientada a objetos
Wikimedia foundation. 2010.