domingo, septiembre 23, 2012

Flash y HTML 5

Bueno mucho tiempo desde mi ultimo post, se que siempre digo lo mismo; pero realmente espero este 2013 revivir un poco mi blog. Sin duda las herramientas sociales han desviado un poco el flujo del contenido y herramientas como los blogs han perdido algo de terreno, sin embargo resultan mas ordenados que el timeline de FaceBook y fáciles de clasificar, buscar, etc.

Dicho lo anterior, hoy quiero escribir un poco acerca de Flash y HTML 5; el estandar que aun no se encuentra full implementado, ha tenido una fuerte adopción desde la negativa de los dispositivos apple (los iToys) de incluir un cliente de flash dentro de sus sistema operativo, argumentando que HTML 5 podía ofrecer la misma funcionalidad sin necesidad de utilizar un plugin en nuestro browser (quizás fue una buena decisión a jugar, por lo problemas de seguridad de los java/applet plugins que hemos visto hoy en día), las nuevas versiones de Android tampoco soportan flash x).

En lo personal nunca fui muy fan del action script (lenguaje detrás de la animación del viejo programa de Macromedia, adquirido por Adobe hace tiempo), y la apuesta por HTML 5 trae a mi cabeza varias preguntas.

  1. Cuando tiempo se dará una transición dramática de Flash a HTML 5?
  2. De darse en un tiempo relativamente corto, que va pasar con los desarrolladores de Flash?

A la primera pregunta, mi opinión personal se basa en otros artículos que he leído, el argumento básico es el siguiente, HTML 5 pinta muy bien y a pesar de su rápida evolución y adopción sigue existiendo una gran brecha entre lo que proporciona Flash y HTML 5; el primero proporciona muchisimas mas funcionalidades, no solo en el campo de la animación, existen muchas otras tecnologías alrededor del ecosistema del hijo de Adobe, Remote Flash, Flex, Adobe air y por ahí va la cuenta, sin embargo algunas animaciones vectoriales ya pueden ser realizadas con HTML 5 y son muy rápidas. Canvas y SVG quizás no proporcionan un sistema RIA en si, pero Javascript y HTML tienen formularios, animaciones y una parafernalia de toolkits, framework y librerías desde hace mucho tiempo y son muy maduras, difundidas, abiertas y con gran soporte! nada mal no :). En definitiva, creo que aun falta tiempo para que Flash desaparezca, al menos los sistemas actuales (es decir una transacción o migracion de sitios hechos en Flash a HTML 5), pero hoy por hoy crear un sitio Web en Flash, es cerrar la puerta a una cantidad de dispositivos móviles increíble (sin manejar datos oficiales, creo que alrededor de la mitad de los accesos en los países de primer mundo, a Internet son por un dispositivo móvil)

En cuanto a la segunda cuestión, bueno si lo que argumento en la primera respuesta lo tomamos como una premisa, que debería hacer un desarrollador Flash; bueno he leído artículos de como se da una transición de un lenguaje X a otro mas moderno junto con las dificultades de adopcion, y conozco algunos programadores que aun argumentan que RPG, Cobol y Fox pro son mucho mejores herramientas que las actuales, puede que tengan razón y sus argumentos les justificaran, pero la realidad es que son sistemas legacy que en la mayoría de caso están estancados (es decir no crecen), casi nadie se plantea el desarrollo de un sistema moderno en ellos y bueno, algunos los consideran una bonita pagina en la historia de la programacion estructurada. Así que siguiendo el mismo ejemplo, en el caso que usted sea un programador Flash de hueso colorado, se tienen algunas cosas a favor para una eventual etapa migratoria; regularmente (no siempre) se tienen conocimientos tanto de estructuración de código, como OOP. También se tienen valiosos conocimientos de animación, manipulación de assets entre otras artes graficas, y la experiencia y gusto para implementar full sites, con soporte RIA y Animaciones; otro punto a favor y no menos importante es el hecho de saber ActionScript, pues tiene algún parecido a Javascript, sin embargo, si us tiene algun tiempo de no adentrarse en los fantásticos mundos del Javascript, pues amigo, el lenguaje ha evolucionado mucho y ha crecido, hoy por hoy cuenta con un ecosistema enorme, a parte de todo lo nuevo relacionado con HTML 5, Canvas, SVG, etc. Y amigos, es una realidad, cuando el mercado cambia, el desarrollador no puede cerrarse y volverse una pieza de museo, es bueno dar el paso y evolucionar a nuevos retos.

En cuanto a los desarrolladores de Javascript, quizás no cuentan con el background a nivel de animación vectorial que tienen los chicos de Flash, pero sin duda alguna tienen ventaja en cuanto al conocimiento del lenguaje Javascript, los estándares Web y muchas otras cosas relacionadas con el ecosistema de facto, así que no es una mala idea iniciar con el estudio de graficacion con Canvas/SVG, sin duda obtendrán una ventaja competitiva y ya se empiezan a ver, inclusive en nuestro pais algunas empresas solicitando estos conocimientos, inclusive una persona con poca experiencia en el desarrollo Web puede encontrar una ventaja competitiva adentrandose en estos mundos, ya que por mis investigaciones personales, son 4 gatos los que conocen del tema y estoy seguro que la demanda va incrementar exponencialmente en el futuro, así que no hay que llegar primero pero hay que saber llegar.

Por ultimo, en lo personal pienso que es un buen cambio, ya existían varios problemas con el soporte de Flash y SEO, además se trataba de un código cerrado y propietario, con las ventajas y desventajas que esto significa; quizas Flash quede relegado para sistemas intranet o empotrados, donde el soporte del mismo este garantizado o limitado, quizas, si es que ya no existe, hagan un migrador de Flash a HTML 5 :D

Yo por mi parte estoy leyendo un libro de HTML 5 que incluye algo de animación con Canvas, asi que animencen :)