2009-10-20 12 views
6

Recientemente comencé a hacer un juego en FlexBuilder. El juego es actualmente un proyecto Flex.Desventajas de un proyecto Flex vs un proyecto Actionscript?

¿Hay algún inconveniente al uso de Flex en lugar de simplemente Actionscript?

Un amigo me dijo que Flex es más lento que un proyecto Actionscript. No he podido validar esto en Internet; ¿Hay algo de verdad en ese reclamo?

Gracias!

Respuesta

17
  • Si está desarrollando un juego, debe utilizar un proyecto de ActionScript. Flex debe usarse solo para aplicaciones impulsadas por datos e interfaces de usuario.
  • El compilador Flex genera una gran cantidad de código intermedio para convertir archivos mxml en actionscript (puede ver esos archivos si compila con la opción del compilador -keep). Este código, el marco flexible incorporado a su SWF, aumenta significativamente el tamaño.
  • Crea un proyecto actionscript con un campo de texto ("hello world") y un proyecto flexible con una etiqueta con el mismo texto. Constrúyalos, vaya a sus carpetas bin-debug y compare los tamaños de archivo. Mientras ActionScript One es solo un par de kilobytes, flex swf sería de al menos 100 kB.
  • En lo que se refiere a la velocidad, dado que flex framework está sobre el ActionScript, obviamente tendrá una desventaja de rendimiento.
  • La belleza de flex reside en la facilidad para crear componentes de interfaz de usuario y desarrollar aplicaciones basadas en datos que se comuniquen frecuentemente con el servidor.
  • No lo use a menos que realmente lo necesite.
0

Flex proporciona un marco para la construcción de aplicaciones enriquecidas de Internet. Si su juego requiere una GUI complicada (como un juego de rol), podría ser útil. De lo contrario, agrega capas que complicarán las cosas si lo único que quieres hacer es construir un juego.

1

Tamaño de descarga = velocidad en Internet. Cuanto más pequeño puedas hacer tu juego, más rápido se cargará. El tamaño también es igual a la velocidad en un lenguaje interpretado como ActionScript, donde cuanto menos código tenga que ejecutar, más rápido se ejecutará. Codificar a mano una rutina de ActionScript puede permitirle hacerlo más rápido que el enfoque generalista de Flex.

Dicho esto, tal vez estaría dispuesto a pagar esa sobrecarga para evitar tener que escribir muchas clases de utilidad en ActionScript puro. Su pantalla de puntaje alto sería más fácil de hacer en Flex, por ejemplo, y eso podría valer la pena para usted. No importará si tu pantalla de puntaje alto es un poco más lenta, ya que no es una cosa en tiempo real como el juego real.

Considera también el costo de tu tiempo. Al usar Flex, terminarás con esas partes de tu aplicación más rápido que si las codificaras a mano en ActionScript. A menos que su tiempo sea libre, debe pensar en cómo se compara con el costo de ancho de banda de los gastos generales de Flex. Puede ser que sea más barato pagar el ancho de banda que tu tiempo haciendo un programa más eficiente.

1

Una aplicación Flex no necesariamente correrá más despacio que una aplicación Pure AS3 una vez que esté completamente cargada: todo se compila en bytecode y una aplicación Flex es como una aplicación AS3 que usa MUCHAS otras clases.

Considere el Flex Framework como un conjunto de atajos que le permiten hacer las cosas mucho más rápido, pero el costo real es que su proyecto se llena con MUCHO más código, incluso si está escribiendo menos código , y nunca tienes que ver el código adicional.

No estaría de acuerdo con la afirmación de que Flex solo debería usarse para aplicaciones complejas basadas en datos, aunque ciertamente es muy útil para tales proyectos. Puede usarlo para cualquier cosa, siempre que comprenda que el producto final (el .swf que exporta) va a ser mucho más grande de lo que podría ser de otra manera.

Si tener un archivo .swf grande no es tan importante para usted (y puede que no lo sea, dependiendo de lo que esté haciendo con él), entonces le doy una oportunidad a Flex porque ArrayCollection, RemoteObject y Data -La vinculación le ahorrará horas de frustración y cientos de líneas de código.

Sin embargo, si quiere asegurarse de que su aplicación final sea lo más pequeña y eficiente posible, hágalo con AS3 puro y simplemente opte por bibliotecas más avanzadas cuando las necesite.

0

Como se dijo anteriormente en el primer punto, la única bebida es el consumo de memoria. Pero si escribes en puro script AS, necesitas estar en el deadline combat. Como flex, proporciona muchas composiciones personalizables. U puede usar archivos Class en lugar de MX Comps que guardan la memoria. No cree ningún componente a menos que se esté utilizando. Los módulos y RSL están disponibles para lograr la peretainity

2

Si conoce flex y le ayuda a desarrollar más rápido, hágalo en flexión.

El tamaño de descarga no tiene importancia para un juego con muchos recursos. Los juegos flash más populares tienen un tamaño de 5 MB y más. (por ejemplo, en kongregate)

Parte crucial del juego que puedes hacer en actionscript puro. Colocando cientos UIComponents a Canvas no puede ralentizar en Flex, pero la tecnología de desgarre Flex evita la animación suave de los objetos.

Conclusión: Flex es para un rápido desarrollo. Puede usar sus componentes fáciles de usar para el menú. Incluso sin los componentes Flex UI vinculante es cuestión y hace la vida más fácil.

Cuestiones relacionadas