Flash Player 9 y algunos detalles mas.
Como algunos sabrán el Flash player 8.5 que se encuentra en estado beta, ahora se llamara Flash player 9. Con esto Adobe se evitara conflictos ya que la próxima versión de Flash (Blaze) estará basada en el mismo player.
Además este player tiene muchos cambios que lo diferencian bastante con sus antecesores y por eso es mejor diferenciarlo bien de sus predecesor (8) y darle un numero unico (9). Aquí algunos detalles:
Primero quería mencionar que ahora el player tiene dos virtual machines. Una sirve para correr todas las versiones anteriores, desde la version 1 a la version 8. La otra sirve para correr las versiones 9 en adelante. Esto fue implementado así por que ahora la nueva versión de ActioScript tiene un nuevo bytecode que se diferencia bastante de las anteriores.
También se le agrego un verificador de bytecode que analiza los bytes a medida van bajando y verifica que el bytecode no tenga errores y que sea legitimo. Esto ayuda a resolver los problemas con anticipación.
Esta nueva virtual machine también posee un nuevo garbage collector (recolector de basura) mucho mas inteligente que va limpiando la memoria que no se usa mas en nuestra aplicación.
También existe el JIT (just un time compilation) que lo que hace es transformar las instrucciones que están el en bytecode del archivo swf a código nativo de la maquina. Permitiendo que el código se ejecute mucho mas rápido ya que es nativo en el procesador, el proceso es similar a lo que hace java con su virtual machine.
Otra cosa interesante del nuevo player es que hay una versión para los desarrolladores que es el debug player y que permite ver los errores en la aplicación a medida que van pasando, en tiempo real (runtime exceptions). Esto es increíble ya que facilita mucho la programación.
Por el lado de las librerías de código, ahora tenemos dos librerías muy importantes incomparadas directamente en el player.
Una es el Focus manager. Y la otra es el motor de Eventos (EventDispatcher) que también ahora es parte del player. Gracias a esto todos los objetos que se muestran en la pantalla (ósea que están el la diplayList) poseen los métodos necesarios para trabajar con los eventos debido a que heredan de la clase EventDispatcher.
Bueno para terminar les digo que todo estos beneficios los tenemos si hacemos código en ActionScript 3.0. También prometo que el próximo post no va ser tan freak :)