Pregunta

¿Cuáles son las diferencias clave entre Flash y Flex? Tengo más de cinco años de experiencia con flash y me siento muy cómodo al desarrollarlo con ActionScript3. Me siento cada vez más curioso acerca de Flex y quiero saber cuándo es mejor usar flash o flex. Además, ¿todo lo que se puede hacer con MXML se puede hacer con AS3? Tengo un gran conocimiento de AS3 y OOP y me gustaría conocer las diferencias entre usar AS3 y MXML en Flex.

¿Fue útil?

Solución

Flex es genial si rápidamente quieres construir una UI, puedes simular una UI funcional en un par de horas. Dado que aún puede ser limitante para algunas IU personalizadas, no es perfecto para todo, pero si algo debería " ver " más o menos como una aplicación y encajar en una cuadrícula es súper rápido para imitar la interfaz de usuario en MXML. Además, no se deje intimidar por el aspecto de la mayoría de las aplicaciones Flex (fea, imo), puede personalizar todo o crear fácilmente sus propios componentes.

Poner el código de acción en mxml es lo mismo que poner css o javascript en html = realmente malo. Desafortunadamente, incluso Adobe tiene esto en múltiples ejemplos (probablemente principalmente porque es más fácil y más rápido para demostraciones). Mi opinión personal es que esto también se aplica a los enlaces, ya que no quiero poner mis datos en la interfaz de usuario (mxml).

Como desarrollador experimentado, estoy seguro de que no realiza ningún desarrollo en la línea de tiempo (para aclarar la idea errónea de Flash = línea de tiempo). Aún con Flex, tiene la interfaz de usuario separada en un marco que maneja gran parte de la carga con el diseño para que pueda concentrarse en la lógica de negocios. El resto del flujo de trabajo está cerca de lo que probablemente ya tenga con Flash.

Otros consejos

Depende de qué tipo de aplicaciones esté desarrollando ahora con Flash. He sido desarrollador de Flash (principalmente aplicaciones) durante 7 años. Debo decir honestamente que me alegré mucho cuando se lanzó Flex 2 porque tenía el marco de componentes (buenos componentes, gestores de diseño, ...) que no tenía en Flash. Esta es la gran diferencia de IMO entre Flash y Flex (o el marco de trabajo de Flex).

MXML es una verdadera bendición, especialmente cuando se usa enlace de datos. Al final, todo está compilado en ActionScript (verifique la opción del compilador -keep), pero MXML le ahorra mucho tiempo.

Flash y Flex ofrecen diferentes formas de producir cosas diferentes. No estoy familiarizado con Flash, pero espero que dependa de una forma orientada al tiempo para producir algo, mientras que Flex está orientado hacia el desarrollo de software más tradicional. Es decir, en lugar de tratar con el tiempo y los marcos en Flash, se trata de describir dónde se deben colocar los componentes con MXML y cómo funcionan esos componentes con ActionScript.

Uno también debería poder escribir una aplicación Flex con solo AS3 y no necesita MXML.

La principal diferencia entre AS3 y MXML en Flex, que yo sepa, es que MXML no está diseñado para usarse con la lógica de la aplicación, sino que está diseñado para ser utilizado como HTML / CSS en páginas web y pone componentes y contenido en la aplicación Flex. ActionScript se usa para programar comportamientos, componentes y otras cosas fuera de lo que hace MXML. Por lo tanto, si desea adjuntar un evento a un componente, se escribiría un código ActionScript.

Espero que ayude. Todavía estoy aprendiendo sobre Flex.

Algunas otras diferencias que vienen a la mente:

Flash le permite crear activos gráficos y luego trabajar con ellos inmediatamente. Para usar esas mismas cosas en Flex, primero debe usar Flash para exportarlos a un swf o swc.

Flex tiene un administrador de diseño, por lo que las aplicaciones que tienen un tamaño de ventana variable son mucho más fáciles de hacer. Por ejemplo, puede tomar una ventana y establecerla en el 90% del ancho de la ventana, y cambiará de tamaño ... no le preocupa la escala, sino que realmente cambia su ancho a medida que la ventana se hace más grande o más pequeña. Esto no es fácil fuera del marco de trabajo de Flex.

El enlace de datos en Flex es un gran ahorro de tiempo. Básicamente, crea todo el código que necesitarías escribir en AS3 simplemente diciendo blah = " {foo} " Los frenos curley denotan " enlazar a este " ;.

El depurador de Flex es muy superior al de Flash. También hay un Perfilador.

Desde que empecé con Flex y no con Flash, no estoy seguro de qué tipo de IDE es mejor para Flash dev, pero Flex Builder basado en Eclipse es bastante bueno. El código de insinuación es grande. La integración de subclipse es genial.

Realmente, Flash y Flex son diferentes bestias. Debería conocer y comprender AS3 si desea usar Flex, y como lo hace, está en una posición perfecta para aprovechar las características de Flex. Flash no va a ninguna parte como una herramienta para crear piezas visualmente creativas, pero Flex ofrece muchas ventajas para el desarrollo de aplicaciones.

Prefiero Flash IDE vs Flex (también conocido como Flex Builder, también conocido como Flash Builder para mi comentario)

En general, diría que depende del tamaño del proyecto.

Me resulta más fácil comenzar y finalizar proyectos pequeños rápidamente en Flash.

Le recomendaría a Flex para proyectos más grandes porque tiene varias herramientas de depuración que pueden ahorrarle mucho tiempo (aunque aún así solo usaría Flash yo mismo)

Pero tal vez si realmente te acostumbras a flexionar, eso no importa.

algunos Contras de Flex de mi experiencia.

  • Al trabajar en un equipo de 4 en un proyecto grande, Flex no pudo mantener el proyecto
  • configuración de una computadora a otra. (compartimos archivos usando SVN)
  • Flex constantemente entró en conflicto con SVN para nosotros.
  • Me sentí distante de los activos artísticos.

algunos Pros de Flex

  • poder seguir las referencias de variables de una clase a otra con el clic de un botón.
  • poder ver fácilmente muchas variables mientras se depura. sin necesidad de rastrearlos.
  • y Flash solía no tener sugerencias de código de clase personalizada, pero ahora con CS5 sí.
  • Creo que puedes usar las funciones más recientes de Flash Player sin esperar un nuevo Flash CS #, por ejemplo, MoleHill (una nueva API 3D que usa la GPU) tiene una versión beta ahora mismo. y creo que el SDK de Flex ya puede usarlo. Espero que esto ayude.

debe tenerse en cuenta que soy un caso poco frecuente que no prefiere la flexión, la mayoría de las personas prefieren la flexión, por lo que debería intentarlo al menos.

MXML se compila en un script de acción, por lo que es como una versión de mayor nivel. Entonces, sí, todo lo que se puede hacer con MXML se puede hacer con actionscript (pero no al revés).

Flash CSx:

  1. GUI \ Layout : Marco básico de clase de GUI
  2. Contenido gráfico : ideal para editar objetos de biblioteca gráfica con o sin animación
  3. Código : le falta un buen editor de código

Flex / Flash Builder + Flex Framework:

  1. GUI \ Layout : estructura de GUI avanzada y motor de diseño (Flex)
  2. Contenido gráfico : carece de las capacidades de dibujo de Flash, pero puede incluir gráficos generados por Flash exportándolos para ActionScript a un SWC e importando / haciendo referencia al SWC en Flash Builder.
  3. Código : mucho mejor editor de código que Flash; No estoy seguro de si está a la par con FlashDevelop
  4. Otro : admite MXML, que es básicamente otro estilo de diseño de contenido. En lugar de escribir un grupo de " c = new C () " ;, " c.prop = x " ;, " c.addChild " ... puede estructurar objetos de visualización y sus hijos utilizando construcciones XML y MXML el compilador lo convertirá todo de nuevo en el menos legible, pero básicamente el mismo código AS3.

Estas tecnologías son todas relacionadas e interoperables. Son extensiones naturales y predecibles del reproductor Flash y las tecnologías de ActionScript, pero por alguna razón, Adobe desarrolló las tecnologías Flex / Flex-Builder / MXML como un producto totalmente separado, y lo comercializa como algo totalmente nuevo y asombroso. Lo que sea. Así que ahora tenemos que ir y venir entre los dos para usar todas las funciones, que es LAME. También tienen que perder tiempo y recursos desarrollando paquetes innecesarios, pero útiles, como el " Flex Component Kit " para reducir la cantidad de pasos necesarios para obtener contenido Flash en Flash Builder.

Tiene que ir y venir entre estas aplicaciones, debido a sus características mutuamente exclusivas: Flash Builder carece de edición de gráficos, y Flash CSx carece de MXML y un buen editor de código, pero son interoperables en el sentido de que puede usar clases de Flex en Flash, clases de Flash (y sus gráficos integrados) en Flex, puede usar Flash Builder y MXML sin Flex, etc.

Creo que necesitan un único IDE de Flash realmente integrado, por lo que necesitan combinar Flash Builder en el editor de Flash CSx.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top