El término Flash puede incluir cualquiera de los demás términos que se definen a continuación, y creo que decir "Flash" sin especificar exactamente lo que quiere decir puede resultar confuso y engañoso. Caso en cuestión: no estoy seguro de a qué se refiere específicamente cuando dice "Flash" en su pregunta. ¿Es Flash Player? ¿La herramienta de autoría? ¿O toda la colección de tecnologías que caen bajo lo que Adobe llama la "Plataforma Flash"? Para ayudar a aclarar todo esto, permítanme definir las tecnologías involucradas en la creación de contenido Flash y Flex para que todos usemos la misma terminología aquí:
Flash Player es un tiempo de ejecución para contenido multimedia enriquecido en el navegador. También existe Flash Lite para ejecutar contenido Flash en dispositivos móviles antiguos o de gama baja, y Adobe AIR amplía Flash Player para permitir que los autores de contenido publiquen aplicaciones móviles y de escritorio nativas que puedan integrarse con elementos como el sistema de archivos, sistemas de ventanas y dispositivos. sensores como el acelerómetro y la cámara. En conjunto, Adobe se refiere a estos como tiempos de ejecución de Flash .
Flash Professional (a menudo denominada herramienta de creación de Flash o IDE de Flash ) ha sido tradicionalmente la aplicación principal utilizada para crear contenido que se ejecuta en Flash Player. Está muy orientado al diseñador con líneas de tiempo, capas y herramientas de dibujo visual. Los desarrolladores de software pueden encontrar esta aplicación desorientadora y limitada en comparación con otras herramientas de desarrollo que se centran más en el código, como Flash Builder (ver más abajo). Cuando alguien dice: "Creé algo con Flash", a menudo se refieren a la herramienta de creación de Flash, pero no siempre es así. Por eso, es bueno aclarar siempre para evitar confusiones.
ActionScript es el lenguaje de programación principal compatible con Adobe para los tiempos de ejecución de Flash. La versión actual es ActionScript 3 (abreviado como AS3 ), que se admite desde Flash Player 9. El contenido creado con versiones anteriores de ActionScript aún se puede ejecutar en las últimas versiones de Flash Player, pero las nuevas funciones solo son compatibles cuando se usa ActionScript 3 para crear contenido nuevo.
Flex es una colección de tecnologías diseñadas para crear aplicaciones ricas que apuntan a los tiempos de ejecución de Flash de Adobe. Aunque decir "Flex" anteriormente tenía la misma ambigüedad que "Flash", la marca Flex se centra cada vez más en el marco de trabajo Flex y SDK, que se describen a continuación.
El SDK de Flex consiste en compiladores, un depurador de línea de comandos, y la estructura de Flex. Los compiladores incluidos son: 1. MXMLC, un compilador ActionScript y MXML para generar el archivo SWF final para su implementación en Flash Player. 2. COMPC, un compilador de biblioteca estática para ActionScript que genera archivos SWC. 3. ASDOC, un generador de documentación basado en la tecnología del compilador.
El marco Flex es una colección de clases de ActionScript diseñadas para crear aplicaciones de Internet enriquecidas. Incluye elementos como controles de interfaz de usuario, servicios web y otras clases de conectividad, formateadores y validadores, arrastrar y soltar, ventanas modales y estados de componentes. Estas clases están en el paquete mx. *. Generalmente, cuando los desarrolladores dicen "Flex" sin ninguna información aclaratoria, se refieren al marco Flex y no al producto anteriormente conocido como Flex Builder.
En 2011, Adobe donó Flex SDK a Apache Software Foundation. Ahora se llama Apache Flex y está completamente administrado por la comunidad en lugar de Adobe. Sin embargo, los empleados de Adobe continúan contribuyendo al proyecto y Flash Builder (ver más abajo) continúa admitiendo los nuevos SDK lanzados por el proyecto Apache Flex.
MXML es un lenguaje de marcado basado en XML utilizado por los compiladores de Flex para facilitar el diseño y la colocación de componentes en contenedores. La estructura en árbol de XML hace que la jerarquía de contención sea más fácil de visualizar. MXML se convierte en ActionScript durante el proceso de compilación.
Flash Builder (anteriormente conocido como Flex Builder ) es un entorno de desarrollo que permite a los desarrolladores crear diferentes tipos de proyectos para crear archivos SWF que se implementan en tiempos de ejecución de Flash. Está construido sobre la plataforma Eclipse y es más familiar para los ingenieros de software. Flash Builder admite proyectos creados con Flex o ActionScript puro. Los proyectos Flex incluyen el marco Flex. Los proyectos de ActionScript son los más básicos con los que puede trabajar, comenzando con una sola clase y un lienzo vacío, y el marco Flex no está incluido.
Flash Builder no reemplaza a Flash Professional. Algunas personas que han utilizado tradicionalmente Flash Professional ahora pueden optar por utilizar Flash Builder. A menudo, estos son ingenieros de software que aprecian o requieren las herramientas de desarrollo avanzadas que ofrece Flash Builder o que no trabajan mucho con activos diseñados en una herramienta visual. Algunos desarrolladores pueden escribir su código en Flash Builder, mientras eligen compilar sus proyectos en la herramienta de edición de Flash. A menudo, estos desarrolladores también son diseñadores o están trabajando con otras personas que son diseñadores. En esta situación, puede haber muchos activos gráficos creados en la herramienta de creación de Flash y podría ser difícil o simplemente inapropiado llevarlos a otro entorno.
El marco Flex está diseñado específicamente para crear aplicaciones. Incluye muchos controles de formulario tradicionales (botones, listas, cuadrículas de datos, etc.) y gran parte del código se ejecuta en un marco de componentes avanzado escrito en ActionScript. No todo el mundo está creando el tipo de contenido para el que está diseñado Flex, y Flex no reemplaza las prácticas tradicionales de desarrollo de Flash para todos. Es un mejor enfoque para algunos desarrolladores, pero puede que no sea adecuado para otros. Los sitios web con más diseño, como los creados para películas, música, bebidas energéticas, campañas publicitarias y cosas por el estilo, probablemente no deberían usar el marco Flex. Estos tipos de contenido pueden ser más adecuados para Flash Professional o un proyecto de ActionScript puro en Flash Builder. Similar, Es posible que los pequeños widgets que coloque en la barra lateral de su sitio web o en su perfil en un sitio web de redes sociales deban crearse con ActionScript puro (sin el marco Flex) porque requieren un tamaño de archivo más pequeño y probablemente no necesitan un gran complejo Arquitectura de componentes diseñada para aplicaciones más grandes. Cuando apunte a tiempos de ejecución de Flash, su entorno de desarrollo, marcos y flujo de trabajo deben elegirse en función de los requisitos y objetivos de su proyecto.