versiones tutorial que puedes para functions ejemplos crear con codigos aplicaciones actionscript-3 flash

actionscript-3 - tutorial - codigos actionscript 2.0 para flash



¿Avanzar AS3 hacia adelante? (7)

Creo que ActionScript evolucionará hacia C #. Lo hago porque también creo que vamos a ver muchos más sitios web grandes hechos completamente en Flash / Silverlight. Y una vez que tenga un equipo real con artistas gráficos y codificadores trabajando juntos, C # ahorrará mucho dinero. Hay mejores herramientas y posibilidades para desarrollar y depurar aplicaciones más complejas en C #.

Puede verlo con la nueva configuración de Flash Catalyst / Flash Builder Premium, donde los gráficos y el código finalmente se separan correctamente y, al mismo tiempo, les permite a los artistas "hacer lo suyo".

Estoy seguro de que Adobe también intentará mantener su base de usuarios de diseñadores con algún conocimiento de script. Pero aún pueden escribir en AS2 si lo desean. Esa es la razón por la que (hasta donde sé) van a mantener Flash Professional IDE, y con herramientas gráficas un poco más avanzadas que Catalyst.

Entonces, cuando venga AS4, esperaría ver cosas como genéricos y sobrecarga de métodos. Pero nunca será C #.

Como podría suponer, estoy en el campo técnico;) Pero trabajando con esto profesionalmente, simplemente no puedo ver un futuro donde las mismas personas diseñen y codifiquen. Por lo tanto, no creo que Adobe deba tener en cuenta la opinión de los campamentos "creativos" sobre ActionScript. No le preguntaría a un codificador cómo debería funcionar la selección de color;)

Hola, uso AS3 bastante para el trabajo, pero vengo de una educación Java / C / C ++ y encuentro el lenguaje bastante restrictivo.

Parece que hay dos campos fundamentales en el mundo de AS3:

  • El campo creativo no técnico que quiere hacer que las cosas funcionen sin demasiados problemas y la informática los obliga a hacerlo
  • El campo técnico (posiblemente proveniente de una educación Java / C # etc.) que esté interesado en usar Flex y esté acostumbrado a funciones relativamente complejas en un lenguaje (genéricos, método / sobrecarga del operador).

AS3 parece frustrar ambos campos:

El grupo principalmente creativo piensa que AS3 es mucho más trabajo que AS2 (y son correctos) y no ven el punto en movimiento, cuando se necesitan los beneficios, pero la complejidad aumenta y la curva de aprendizaje es relativamente abrupta.

El campo principalmente técnico encontró que AS3 existe en algún tipo de limbo entre JavaScript y Java, y es solo la mitad de los conceptos de implementación.

Tengo mis ideas sobre lo que quiero técnicamente, pero no creo que ese sea el tema más importante en este momento. ¿Por qué Adobe haría AS3 más técnico? No está siendo adoptado por una gran parte de sus usuarios originales.

Entonces, mi pregunta es cómo pueden Adobe, y la comunidad de usuarios avanzar con AS3, no solo técnicamente sino como una herramienta completa, donde todos los usuarios querrán adoptarla.

Una de mis ideas es que AS3 debería ver cómo volver a ser más secuencias de comandos, pero retiene la escritura. Posiblemente a través de la inferencia tipo como en Scala . Y también para dejar de seguir a Java como si fuera el pináculo del diseño del lenguaje, comience a pensar en los problemas que los usuarios típicos están tratando de resolver.


No estoy seguro de cómo influir en Adobe (aunque podría probar Querido Adobe !) Pero la comunidad de usuarios está desarrollando buenos frameworks como PureMVC . De alguna manera hace que AS3 sea más técnico, por así decirlo, y también separa los elementos visuales de la lógica para que los diseñadores puedan disfrutar de una experiencia más "creativa".


Tiendo a estar en desacuerdo ya que me gusta bastante el lenguaje. Algo de lo que debemos darnos cuenta es que algunas de las características que el público técnico desea son las características de VM y no las funciones de lenguaje (por ejemplo, el enhebrado).

El lenguaje debe ser amigable con los desarrolladores y no ser amigable para los artistas ahora. Flash se ha alejado mucho de las intros del sitio, los dibujos animados vectoriales, los banners publicitarios y los juegos simples. La mayoría de las veces, en mi trabajo diario, se usa para crear aplicaciones internas personalizadas. Estos tienen restricciones completamente diferentes y necesitan las características de lenguaje introducidas en AS3 (por ejemplo, espacios de nombres, tipificación fuerte). Trabajé en equipos de más de 9 desarrolladores. Javascript no está diseñado para manejar tales desarrollos a gran escala, razón por la cual Google usa GWT para permitirles escribir código Java que compila en Javascript.

Ciertamente, había algunas características de ES4 con las que estaba muy entusiasmado. Por ejemplo, funciones genéricas (básicamente sobrecarga de métodos), tipos parametrizados (básicamente genéricos), generadores (con yield ) y las palabras clave let , type , like , unit y wrap . Me decepcionó y me decepcionó que se matara a favor de la especificación de ES3.1 / ES5 diluida (creo que esto fue más político que técnico). Espero que Adobe tenga la fuerza de visión necesaria para implementar esa especificación como AS4.


Vengo del segundo campamento, pero no estoy frustrado; de hecho, estoy bastante contento con el lenguaje tal como es hoy. Si algo me frustra, son las limitaciones impuestas por los tiempos de ejecución de Flash y AIR, y el tamaño de las API Flex y AIR, pero tanto el lenguaje ActionScript per se.

Claro, de vez en cuando me molestan las cosas "perdidas": el soporte de subprocesos expuesto por el usuario sería muy bueno, como la sobrecarga de métodos, las clases abstractas, las enumeraciones reales, etc., pero en general encuentro el código fácilmente. el lenguaje más flexible, como un idioma, con el que he trabajado alguna vez. Adoro mi C # y Java, pero ambos se sienten mucho más rígidos en comparación.


Tal vez deberías echarle un vistazo a haXe .

Se dirige a FlashPlayer (y algunas otras plataformas) y ofrece un lenguaje más avanzado como AS3 . Y como es de código abierto, definitivamente hay más desarrollo en el lenguaje y en el compilador.


Entonces un resumen de todas estas respuestas sería:

Hay poca o ninguna información sobre cuáles son los planes de Adobes para avanzar con AS3. Uno supondría que seguirán las especificaciones de ECMA, pero eso en sí mismo está en un momento de agitación política, así que supongo que Adobe está esperando a ver cómo resulta todo.

En cuanto al lenguaje cada vez más simple, como en fácil comprensión para los programadores a tiempo parcial / utilitarios. Esto parece poco probable, ya que Flex pretende ganar a personas de Java, por lo que se presume que AS continuará apuntando a que los programadores de Java se sientan cómodos.

Separar a los diseñadores del código completamente utilizando Thermo / Flash Catalyst parece el futuro más probable para la relación Programador / Diseñador en los equipos de desarrollo de Flash.

El equipo de Haxe está haciendo un gran esfuerzo para que trabajar con Flash Player sea una experiencia más expresiva y menos restrictiva. Pero, hasta donde yo sé, no están recibiendo ayuda de Adobe. Parece que Adobe no está interesado en ver más opciones de idioma para los desarrolladores de Flash Player.

Silverlight podría asustar significativamente a Adobe y obligarlo a convertir a AS en un lenguaje más expresivo / profesional, si logra acercarse a la cobertura del Flash Player. Como las aplicaciones de Silverlight pueden desarrollarse en un IDE poderoso y profesional, Visual Studio (a diferencia del plugin Flex Builder básico). Y C # es el idioma de elección, lo que hace que AS3 se vea bastante limitado en muchas áreas.

En general, Adobe no ve el futuro de AS3 y el proceso para hacer crecer el lenguaje tiene lugar a puerta cerrada. Entonces, al finalizar, solo Adobe realmente puede responder la pregunta: ¿hacia dónde va AS3?


Soy del segundo campamento mucho ... hice mucha programación con pascal, luego delphi y luego java, pero luego decidí que las chicas y las guitarras son mucho más geniales ... cuando me topé con FlashPlayer en 2006, estaba fascinado por las posibilidades ofrecidas y empecé a codificar de nuevo, con AS2 ... Flash 8 fue más un accidente, cuando se trataba de codificación, así que me moví rápidamente a MTASC y FlashDevelop y pude conocer muy bien el lenguaje ... desde luego, tuve las mismas dificultades que cualquiera que use seriamente la plataforma FlashPlayer ... así que aquí está mi punto de vista:

AS2 vs. AS3

ok, lo más importante es: language! = API ... el núcleo del lenguaje AS3 es la mayor parte de lo que está en el nivel superior, así como lo siguiente de flash.utils : getDefinitionByName y describeType , así como Proxy , Dictionary y ( posiblemente) ByteArray (cualquier otra cosa ya sea que interactúe con FlashPlayer o puede construirse con el lenguaje central) ... en AS2 esto era más que todos los tipos válidos para valores JSON ( Boolean , Number , String , Array , Object ) así como Function , y ASSetPropFlags ... el enlace entre el lenguaje AS3 y el reproductor de flash es pequeño ... por ejemplo, mod_actionscript es un intento de usar el Tamarin VM como un módulo de apache, con una API completamente diferente, por supuesto ...

comparando los lenguajes centrales, hay diferencias ... al final, diría que AS2 era un lenguaje mucho más poderoso que AS3 ... prácticamente podías cambiar todo el lenguaje en tiempo de ejecución, estaba orientado a prototipos (que es mucho característica más poderosa que la herencia basada en clases), permitieron mixins, AOP, etc. ... AS2 tenía un diseño de lenguaje muy claro y radical ... muy pocas personas realmente entienden eso ... AS2 sufrió el mismo mal entendido que JavaScript (que a yo soy el hermano de AS2 no tipificado y torturado por incompatibilidad) ... a la mayoría de la gente le gustó, porque es tan permisivo ... como PHP, por ejemplo, que es (aparte de su penetración masiva en el mercado y fácil instalación) la razón principal por su popularidad ... pero JS y AS son lenguajes de alto nivel, expresivos y poderosos, mientras que PHP es más una herramienta para piratear algunas cosas (esto no es sobre PHP, solo necesitaba otro lenguaje permisivo para comparar también) ... la cosa es, lo que la mayoría de la gente usa en AS2 (una d JS) es la permisividad ... Raramente vi el uso de la programación orientada a objetos basada en prototipos, funcional, orientada a aspectos o incluso adecuada en AS2 ... > aquí < enumeré un conjunto de características AS2 realmente geniales, que son mal o rara vez empleado ...

AS3 es el movimiento de Adobe hacia Java ... es muy estricto, estático, incluso en tiempo de ejecución, pero funciona mucho mejor ... y es muy implacable, lo que te obliga a ser bastante obsoleto ... describeType un nivel realmente nuevo de introspection, Dictionary es un buen ahorro de tiempo, y Proxy es la versión supermutant del Object::__resolve de AS2, compensando un poco por la flexibilidad que se ha perdido ...

hablando del lenguaje, creo que AS3 fue en realidad un paso atrás ... en un momento en que los lenguajes de alto nivel están ganando popularidad exponentaly, y cuando Sun decidió crear JavaFX Script, y muchos otros lenguajes dinámicos se ejecutan en la JVM y CLR, Adobe decidió crear una nueva versión más estática de AS2, y una máquina virtual que es buena para ejecutarla ... un poco de paradoja, creo ...

al comparar API, hay lados arriba y abajo de AS2 y AS3 FlashPlayer API ... este último definitivamente es más grande ... cuando se trata de su intersección (lista de visualización, redes, manejo de XML), hay ventajas y desventajas para cada solución ... muchas personas están un poco molestas, que todas las buenas viejas devoluciones de llamada se han ido y reemplazado por el nuevo modelo de eventos ... en serio, si usas un IDE apropiado, no hay diferencia ... pero el último es mucho más limpio y mucho más potente (¿alguien recuerda cómo una devolución de llamada del mouse apagó por completo a todos los niños?) ... también, esto es algo, eso realmente no importa, porque puede reimplementar el modelo de eventos AS3 en AS2, y puede Reimplementar el sistema de devolución de llamada AS2 en AS2, ambos en un par de días ... al final, diría que AS3 tiene una API bastante más grande y más poderosa y, en caso de necesidad, puedes terminarla, para que sea menos obcecada. ... así que al final, realmente diría que la API de AS3 es mejor ... realmente no tiene sentido simplificar demasiado ...

el punto por el que todo el mundo está gimiendo es que requiere un cambio drástico ... hasta que AS2 el lenguaje se desarrolle paso a paso, siendo casi 100% compatible con la versión anterior ... la consecuencia fue que usted tuvo que hacer un cambio radical, en lugar de una transición lenta ... para decirlo en palabras claras: ir por AS3, significaba tirar todo, lo que repelía a muchas personas, especialmente a los diseñadores, porque el código de portabilidad era factible, pero portar .flas realmente es casi imposible, al menos oldschool, donde el código se distribuye en innumerables clips de película ... pero realmente no es más difícil que AS2 ... impone un poco más de cosas, pero tiene muchas más características, y aborda muchos problemas, que realmente todos han experimentado cuando comenzando con versiones anteriores de actionscript ...

Nicolas Cannasse, el creador de haXe, que se mencionó un par de veces, también publicó algunas reflexiones sobre esto en su blog ... por supuesto su presentación de haXe ya que la alternativa es un poco parcial ... pero creo que es natural. .. un punto importante de haXe es en realidad ser una alternativa a AS3, y Nicolas está muy ansioso y es capaz de proporcionar uno, aunque al final, él, como diseñador principal del lenguaje, tiene sus propias ideas, donde va el lenguaje. .. pero déjame hablar sobre haXe como alternativa (esto puede ser parcialmente redundante con la publicación de Nicolas, pero trataré de resumir mi punto de vista)

HaXe como alternativa

Todavía tengo que probar Haxe, pero parece ser una gran cosa para reemplazar realmente a AS3.

esto es incorrecto ... Motion-Twin, donde Nicolas trabaja, trabaja mucho con flash ... en realidad, haXe genera código AVM2-bytecode mucho más rápido, y a diferencia de AS3, permite el uso de códigos de operación de alquimia, por lo que al final, haXe permite a escribir soluciones mucho más eficientes para AVM2 ... como un lenguaje, es mucho más rico ... La publicación de Nicolas señala que, a diferencia de AS3, haXe es un lenguaje de código abierto ... lo que esto significa en la práctica es , que depende de usted unirse a la comunidad y realizar solicitudes de funciones, o incluso aprender OCaml, y contribuir directamente ... Philippe Elsass, uno de los principales autores de FlashDevelop también hizo recientemente un buen resumen sobre haXe ... un poco menos positivo, pero dando una pequeña visión general ... también se vincula a una publicación de Nicolas presentando las características de lenguaje más fuertes de MTypes , el título de trabajo interno para haXe en MotionTwin, antes de que fuera lanzado y de código abierto ...

HaXe es mucho más expresivo que AS3 ... tiene genéricos, tipeó funciones de primera clase, enumeraciones con parámetros, por mencionar algunas cosas que no figuran en la lista de características MTypes ... la palabra clave using proporciona algunas posibilidades de sobrecarga, pero yo no Realmente no veo por qué la sobrecarga de métodos tiene sentido ... para las versiones futuras, se planean multitypes , que proporcionan una funcionalidad similar ... la sobrecarga del operador se ha discutido muchas veces, y probablemente no se implemente, porque dificulta el intercambio de código ...

al final, creo, haXe es un lenguaje mejor para AVM2 ... y se pone mejor y mejor ... más razones para aprender han sido proporcionadas por algunos compañeros de la comunidad en esta pregunta de ...

El futuro de AS3

Creo que AS3 no avanzará demasiado rápido ... Adobe tiene mejores cosas que hacer ... Adobe usa FlashPlayer como plataforma para implementar aplicaciones Flex ... estas están escritas en MXML, que sin duda es una herramienta muy poderosa. lenguaje declarativo, traducido a AS3 ... esta es la razón por la cual Adobe necesita AS3 y AVM2 para ser rápido, pero no para ser más expresivo ... con el catalizador termo flash aka, los diseñadores serán excluidos del proceso de codificación real y todo se moverá a Flex, utilizando todas las soluciones de servidor Flex ...

No me gusta Flex y seguir con AS3 no es una opción para mí ... Adobe está moviendo la plataforma flash hacia la plataforma Java, y no lo aprecio ... siempre prefiero el flash a Java porque es tan liviano, y ActionScript porque es muy productivo ... estaba muy entusiasmado con las nuevas características de AS3, pero finalmente decidí seguir adelante porque me parece que el desarrollo de AS3 está empezando a estancarse ...

al final, depende de usted elegir su camino ... en este momento es MXML (y un poco de AS3) o haXe ... o intente escribir un lenguaje que tenga un frontend LLVM y compilarlo en AVM2 usando alquimia. . Objective-C podría ser una buena idea ...

así que cualquiera que sea su elección ... buena suerte ...

ps: creo que no deberías usar el término "scripting", cuando quieres decir que es de alto nivel, expresivo y dinámico ... bash script también es un lenguaje de scripting, pero realmente no se parece en nada a Ruby, Scala o todo los dialectos ECMA ...