2010-09-27 20 views
6

Aquí en SO, pregunté qué idioma debería usar para crear una aplicación web que capturara video de la cámara web del usuario y lo enviara al servidor cuando hizo clic en 'enviar' y las respuestas fueron en su mayoría Flash.¿Debo usar Flash o Flex?

Pero al buscar en la web me confundí con esta cosa de Flash/Flex, ya que dicen que Flash es para hacer animaciones y Flex es realmente crear aplicaciones web.

Entonces, ¿qué debo usar? Por Flash, ¿querían decir Flex? ¿O para un programa como ese, Flash está bien? ¿Debo usar Flash Pro? o Flash Builder? Aprender ActionScript o XMXL?

Puede parecer que hay toneladas de contenido sobre esto en la web, pero cuanto más leo, más me confundí.

Gracias de antemano.

Respuesta

4

Esto no es del todo cierto. Puede usar Flash Professional para desarrollar y escribir código en Actionscript 3 nativo y, a la vez, puede desarrollar a nivel de diseñador la creación de imágenes/animaciones, etc.

Para responder a su pregunta, si desea codificar en MXML, entonces necesita usar Flash Builder. Si desea escribir en AS3 nativo, puede usar cualquiera de los dos. Ambos funcionarán, sin embargo, por experiencia personal, usted tiene más libertad para usar AS3 nativo. Además, para el tipo de aplicación que desea realizar, el rendimiento probablemente sea de gran prioridad, por lo que se recomienda tener un control total utilizando AS3.

EDITAR: Además, si está familiarizado con C++ o Java, o cualquier otro objeto orientado, creo que la programación en ActionScript3 se parecerá mucho a la casa.

+2

Estoy de acuerdo. Flash Builder es el mejor desarrollador de IDE, pero prefiero escribir AS3 puro. Los marcos como Flex pueden ser un beneficio si usted sabe que muchos de sus requisitos son compatibles de manera inmediata, pero tienden a complicarle la vida cuando desea una solución más personalizada. – Allan

3

OMI que lo dice todo: Flash Professional es para diseñadores y Flash Builder (Flex) es para los programadores.

Con Flash Builder debe aprender tanto MXML como ActionScript. MXML es para el diseño declarativo de la GUI y ActionScript es el lenguaje de programación.

11

Sugeriría escribir esta aplicación usando Flex. Principalmente porque la cadena de herramientas Flex es mucho mejor que Flash Professional en mi opinión. Si bien no hay nada en su pregunta que realmente parezca requerir el marco Flex, probablemente se beneficie al usarlo. No solo por su entorno de desarrollo superior sino también porque hay algunas cosas en el marco de Flex que simplemente hacen que trabajar con datos sea mucho más fácil.

En cualquier caso, parece que hay una gran confusión en la terminología aquí, así que voy a tratar de aclarar algunas cosas:

RENUNCIA: Esto es de ninguna manera una lista exhaustiva de todo lo flash. Si bien he hecho todo lo posible para ser real, posiblemente he omitido algunos detalles importantes en aras de la brevedad (hey, al menos lo intenté) y en otros casos, simplemente puedo estar equivocado. Las advertencias habituales sobre considerar la fuente se aplican.

  • flash player, ofrece la posibilidad de hacer gráficos vectoriales y de mapa de bits, así como ejecutar código de usuario en una máquina virtual. El reproductor es el núcleo de la plataforma flash, lo que permite que el contenido se ejecute en múltiples plataformas (generalmente sin modificaciones específicas de la plataforma). Hay bastantes API en el reproductor que en realidad son código nativo pero se pueden invocar desde ActionScript.

  • ActionScript es el lenguaje de alto nivel elegido por la plataforma Flash. Hay otros, más notablemente haXe, pero no son compatibles con las herramientas de Adobe. Hay tres versiones del lenguaje: ActionScript 1, 2 y 3. Los dos primeros se usaron antes de Flash 9, que introdujo una máquina virtual completamente reescrita (AVM2) y, por lo tanto, también introdujo AS3. Los idiomas anteriores se ejecutan en una máquina virtual antigua llamada AVM1. El contenido anterior producido para AVM1 puede ejecutarse en reproductores más nuevos habilitados para AVM2. Sin embargo, seguirán ejecutándose en el modo AVM1 para retener la compatibilidad con versiones anteriores. Flash realmente maneja la compatibilidad hacia atrás notablemente bien.

  • Flash Professional, también conocido como Flash IDE, es el nombre de una herramienta para producir contenido flash. Comenzó como una forma de crear animaciones, pero como el formato de película flash tenía capacidades de escritura, también lo hacía la herramienta. Sin embargo, las secuencias de comandos han sido durante mucho tiempo un hijo bastardo de esta herramienta. Si bien las últimas dos versiones han visto mejoras en esta área, aún es insignificante en comparación con otros entornos más centrados en desarrolladores. Esta herramienta solo compila proyectos puros de ActionScript, no se usa para desarrollar aplicaciones Flex y generalmente se considera más amigable con el diseñador que amigable para desarrolladores.

  • Flex es el nombre del marco de aplicación empresarial de Adobe. Existen algunas tecnologías clave para Flex y es más que solo una biblioteca central de funcionalidades. Trataré de explicar concisamente las tecnologías clave del marco a continuación. El SDK de Flex es en realidad de código abierto y se puede usar libremente para desarrollar aplicaciones. Sin embargo, si bien contiene todo lo necesario para compilar aplicaciones Flex, en realidad no incluye un IDE.

    • MXML es un lenguaje declarativo. Generalmente se usa para definir de forma declarativa las vistas, pero se puede usar para muchas cosas. Por ejemplo, el swiz framework aprovecha MXML para definir dependencias de forma declarativa usando IoC. Por supuesto, hay mucho más para swiz, pero eso está más allá del alcance de esta respuesta.

    • MXMLC & COMPC son dos compiladores utilizados para compilar proyectos flexibles. El primero se usa para compilar aplicaciones swf, el último se usa para compilar bibliotecas swc.

    • La biblioteca central incluye, entre otras cosas, dos conjuntos de componentes estándar: MX y Spark; el primero a menudo denominado Halo. MX es un conjunto de componentes más antiguo y, aunque sigue siendo compatible, se considera obsoleto y es probable que se elimine una vez que Spark alcance la paridad de características con MX. Sin embargo, los dos conjuntos de componentes son en gran medida compatibles entre sí y pueden coexistir bastante bien en la misma aplicación. Otra funcionalidad notable proporcionado es bastante amplio acceso a datos y funcionalidad de gestión, tanto para datos basados ​​en texto como XML o JSON, así como datos binarios (AMF).

      La biblioteca se conoce comúnmente como simplemente Flex o la Marco flexible.

  • Flash Builder es IDE de Adobe para el desarrollo de aplicaciones Flex. Si bien es ciertamente posible usarlo para desarrollar aplicaciones AS3 puras, se usa con mayor frecuencia para desarrollar aplicaciones Flex.Es un IDE decente con la mayoría de las características disponibles en un entorno de desarrollo moderno, pero hay alternativas populares como PowerFlasher's FDT. Si bien el Flex SDK es gratuito y de código abierto, Flash Builder es un software propietario y comercial.

+1

Ese es un gran resumen. –

+1

Yo separaría la plataforma Flash de Flash Player. La plataforma Flash es el término de captura de Adobe para los reproductores (Flash Player, Adobe AIR) y las herramientas (Flash Catalyst, Flash Builder, Flash Pro, Flex Framework). Flash Player es solo una "pieza" de la plataforma Flash. La gente de Adobe también diría que no están enfocando todo el desarrollo de "Flash Builder" en Flex, aunque podríamos argumentar lo real que es. Pero, de lo contrario, buena respuesta. – JeffryHouser

+0

Tienes razón, por supuesto, ¡gracias por los comentarios! Actualicé la respuesta para ser más preciso, pero decidí dejar el término "Plataforma Flash" en su totalidad ya que creo que sería confuso. –

1

"Flash" es el nombre de toda la plataforma (piense algo así como .NET o Java). "Flex" es el nombre de un marco construido en la parte superior de Flash. Entonces, al usar Flex, también estás usando Flash técnicamente.

Sus dos opciones principales para el desarrollo son Flash Professional IDE y Flex (ya sea manualmente a través de su compilador o a través del Flash Builder IDE). La diferencia es cómo se crea la interfaz de usuario: en Flash Professional, se diseñan los elementos visualmente, mientras que con Flex se codifica usando MXML (aunque Flash Builder viene con un diseñador visual más básico también). Ambas herramientas usan ActionScript para la lógica de la aplicación, aunque Flash Professional lo usa más como un lenguaje de scripting que como un lenguaje de programación tradicional.

Dado que va a hacer más programación que diseño, Flex se adapta más a su aplicación, IMO. Para comenzar, eche un vistazo al Learn Flex in a Week.