Hablemos un poco del nuevo Flash 8

Despues de la esperada salida de Flash 8 ya podemos leer en muchos blogs sobre las primeras impresiones. Parece que existen dos grupos…aquellos que están flipados con las nuevas posibilidades de Flash en cuanto a expresión y los que compartiendo el entusiasmo general (aunque de forma más comedida) están algo decepcionados por la falta o mejora de ciertos aspectos.

Podemos suponer casi con toda seguridad que el perfil del primer grupo es el de un diseñador, creativo web, creador de interacción, u otro rol similar. En cambio el segundo grupo se engloba dentro de la nueva ornada de creadores de aplicaciones RIA que han optado por Flash como la plataforma sobre la que correran son aplicaciones. Seguramente yo podrí­a englobarme dentro del segundo grupo por lo que respecta a mi faceta profesional…pero también comparto la emoción del primer grupo en cuanto a mi faceta puramente lúdica.

Después de instalar el nuevo Flash 8 debo decir (como ya he podido leer en algunos sitios) que el entorno parece mucho más estable (aunque FMX2004 con el updater 2 habí­a conseguido un alto grado de estabilidad) y la herramienta ha evolucionado de tal manera que se nota la calidad, el detalle y la rápidez en cada parte del IDE…bueno…considerando las pocas horas que he estado brujuleando estas son solo mis primeras impresiones que espero que se mantengan cuando lleve semanas usando Flash 8, aunque dicho sea de paso ya lo uso bastante poco.

El problema para muchos de nosotros no es que no veamos la calidad y el mimo puesto por Macromedia en este producto, que es altí­simo, si no que realmente no nos aporta practicamente nada en lo que respecta a nuestro workflow como arquitectos y diseñadores de aplicaciones. Realmente los puntos que nos van a ser de mayor utilidad a mi juicio serí­an:

  • File Upload – Para poder por fin subir archivos a un servidor sin necesidad de basarnos en HTML.
  • Slice-9 – La nueva forma de escalado en formato de rejilla 3×3 que puede ser perfecta para crear elementos de interfaz que cambien de tamaño, que usen menos recursos y que den un mejor rendimiento.
  • Bitmap caching – Para mejorar el rendimiento en elementos que se mueven por la pantalla como ventanas flotantes y que tengan anidados varios objetos(sin tener en cuenta rotaciones ni cambios de tamaño).

Otros menos fundamentales, pero a la vez interesantes serí­an:

  • Mejoras de visualizacion, lineas, gradientes, filtros y modos de mezcla(blend modes)
  • Mejoras en el renderizado de campos de texto (FlashType, antialias, etc…)

Hay algunas cosas más que también son interesantes (como la carga de todo tipo de formatos de imagen (png, gif, progressive jpgs…), ExternalInterface que sustituye a fscommand como modo de comunicación de una manera más versatil con el mundo exterior), pero creo que las anteriores son las principales nuevas caracterí­sticas que nos harán la vida más fácil a los que nos dedicamos a esto de las aplicaciones RIAs.

Teniendo en cuenta que todo esto podemos conseguirlo programáticamente y compilando con MTASC para Flash Player 8 puede que no tengamos motivo para una actualización pero siempre puede interesarnos tener un entorno mejor, más rapido, estable y en definitiva más evolucionado.

El gran fallo de esta “release” para la mayorí­a del “grupo RIA” (desde mi punto de vista) es que desde el principio nunca se pensó en actualizar los componentes v2 de Macromedia y ofrecer un set más estable con esta nueva herramienta. Lo único que podemos ver es un cambio mí­nimo de versión que espero arregle al menos los fallos más comunes. Por otra parte esto era de esperar y de hecho me lo imaginaba antes de saberlo oficialmente debido a que este es el principal caballo de batalla de Macromedia con Flex. Evidentemente si Flash 8 viniese con un framework como el que tiene Flex, este producto dejarí­a de tener parte del sentido que tiene y no podrí­a justificar su elevado precio.

Esto puede ser un camino herrado o no para Macromedia puesto que en mi opinión la inclusión de un set oficial de componentes super optimizados y altamente usables serí­a lo realmente necesario (por encima de efectismos de filtros, blends, etc…) de cara a conseguir que la plataforma Flash sea rápidamente adoptada por las grandes empresas que en mi opinión son el auténtico reto que tiene todaví­a Macromedia por delante.

Relamente estoy convencido de que esa adopción ira llegando durante el proximo año, pero será en gran medida gracias a la nueva tendencia Open Source de Flash y a los proyectos que están ahora mismo siendo desarrollados por la comunidad de desarrolladores de Flash.

15 Comentarios

  1. jejeje yo soy del 2º grupo … y componentes? bueno, podria vivir sin los componentes “habituales” pero … soporte para los componentesde remoting??AAArrrgg…. no por favor! no me digan que tengo que volver a LoadVars o XML… Se que MM esta trabajando en el instalador y que puedes instalar los sources tu a mano pero … Creo que remoting es mucho mejor que LV y mas en RIA’s, que no lo tuvieran preparado :S:S nada bueno! Si la version 7 fue especial para coders la 8 para diseñadores… la siguiente vuelve a ser la nuestra!!

    Solo esperemos no encontrarnos mas “sorpresas” y que tengan que sacar Ellipsis v2.0 …

  2. Muy buena preview Carlos, coincido contigo en lo de los componentes. Esperemos a ver qué ocurre en el MAX, MM siempre nos tiene acostumbrados a alguna sorpresilla 😉

  3. Efectivamente el descuido con Remoting solo es una señal más para hacernos ver que MM tiene muy claro la partición que ha realizado al diseñar sus productos. Flash se queda para la parte artí­stica de la plataforma, mientras que Zorn será la versión dura para desarrolladores puros de ActionScript junto con Flex como el servidor orientado al despliegue RIAs.

    @Buti: Gracias por las palabras. Espero que oigamos pronto algo sobre Zorn en MAX…de todas formas hoy por hoy me quedo con ASDT :).
    Nos vemos en unos dí­as en el IV MMUG de 5dms!

  4. Comparto tu punto de vista.
    Yo me lo he bajado pero todaví­a no he podido burbujear ni un trace() 🙂
    Estoy emocionado por este release, pero algo decepcionado por el tema componentes… pero bueno, esos bugs ya legendarios espero que se hayan arreglado…

    Saludos!

  5. Hola Joan,

    Leyendo los comentarios en el post de dynamicFlash acerca del problema con los componentes aporta un par de conceptos clave sobre la “decepción” sufrida con esta release.

    El tema está en que aparte de los bugs, hay una serie de cosas que se hechan ya en falta después de dos años como el “drag and drop”, o los contenedores o layout managers o un componente tipo TabPanel. Y por supuesto el tema del performance.

    La decepción está en que Flex tiene un juego de componentes impecable, y que seguro que están llevando a un limite impresionante para la esperada salida de Mistral (Flex 2.0) y que ya resolvio hace tiempo estos problemas. Por eso es duro el pensar que MM no aporte estos componentes con esta release o al menos unos que estén algo recortados pero den la sensación de que han pasado estos años.

  6. he probado a instalar las clases de remoting a mano pero sorpresa!! cuando compilo me da un bug. El error reside en la linea 22 de NetServices.as. me estoy volviendo loco!!Una mejora increible? en mi opinion las sombras dinámicas valen su peso en oro, tambien la subida de archivos es genial. Alguien sabe como solucionar el problema de remoting para instalarlo a mano?

    saludos.

  7. Ohhh tranquilos… los bugs de los componentes siguen ahi … ayer por curiosidad probé “el del combobox” , seguro que saben cual es, el que poniendo un combobox en un SF externo y cargandolo peta… pues PETíƒÂ“! algo que era de esperar ya que se me antoja algo dificil de solucionar el tema de que clases cargar y cuales no…

  8. Hola Carlos. No se si estoy haciendolo correctamente.
    De momento tengo la ayuda, el debbuger y los componentes. Las clases supuestamente no deberian dar ningun problema pues las tengo instaladas en la carpeta mx de Flash 8 e incluso e copiado las clases de la carpeta include en 2004 en la nueva carpeta include de Flash 8 ya que como habreis visto la estructura de directorios es distinta.
    El problema que tengo es un problema con la linea 22 de NetServices.as y lo unico que hace esa linea declarar NetServices como una extension de la clase Object.

    ¿Podrias detallar los pasos que has seguido tu? de verdad que he probado de todas las formas posibles, de hecho la clase es accesible, pero no funciona.
    Deberia cambiar #include “NetServices.as” por import dir.NetServices???

    gracias a todos

  9. Saludos de nuevo.
    me he dado cuenta del problema.
    No mas As 1.0 con remoting.
    #include no funciona, solo import.
    Tendre que cambiar todas mis aplicaciones.

    Curioso el problema.

    Gracias!!

  10. Holas, me he puesto a estudiar el flash 8 y me quedo con Mejoras en el renderizado de campos de texto, y y poder cargar PNG y progresivos, toda una ayuda para los coders lelos en diseño como yo. No veo equilibrio, tampoco lo buscaba o esperaba, esque ni me lo planteé, supongo que la mano de Adobe ha hecho tirar mas para el diseño por acercar(unir) definitivamente la plataforma al mundillo. Pero soy de la opinion de que flash es mas que una chica bonita, y hecho en falta alguna novedad considerable para los coders, no se ha dado ni un solo paso en cuanto a seguridad, y en cuanto a componentes…me han dejado cojo.Me metere en video pronto…

  11. Hola Dai,

    Lo de los componentes es un hecho, pero en cuanto a seguridad si que hay cambios debido a la inclusion del FileUpload…pero estoy contigo en que se hecha en falta algo para developers, aunque en fin también los diseñadores tení­an derecho que nosotros ya acaparamos las verisones 6 y 7 😉

  12. [sourcecode language=”javascript”]
    class c {
    private static var __instancia:c;
    private var __config:Object;

    private function c () {
    __config = {
    t:1,
    e:[“easeOutExpo”, “easeInExpo”, “easeInOutExpo”, “linear”, “easeOutBack”],
    colores:[“0x283704”, “0xFFFFFF”, “0x979797″,”0x62860c”,”0x9FD127″]
    }
    }

    public static function getC():c{

    if(__instancia == null){
    __instancia = new c();
    }

    return __instancia;
    }

    public function get (id:String):Object {
    return __config[id];
    }

    }
    [/sourcecode]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *