Aplicaciones Flash para iPhone!

Nos hemos podido cansar de ver anuncios por todas las partes anunciando Flash en el iPhone, o un futuro conjunto con Apple y Adobe colaborando… o Adobe diciendo que ya tiene portado el player para iPhone… pero sin embargo lo que se ha sacado Adobe de la manga tiene muchas lecturas, y no demasiado “buenas” para el conjunto de los implicados.

Adobe ha decidido crear un IDE de desarrollo paralelo para iPhone (ni XCode, ni Interface builder ni Cocoa Touch, Objective – C…) que permite a un usuario Flash programar en Action Script 3 y compilar para iPhone o iTouch (en adelante iPhone). Este IDE no es otro que Flash CS5 extendido con un extra que se ha denominado “Notus”, que verá la luz a finales de este año en forma de beta, según Adobe. Resulta que la gente de Adobe se ha tomado las grandes molestias de crear un compilador que parsea desde AS3 a una aplicación nativa Obejective – C, es decir como si la hubieramos escrito desde el entorno natural de Mac para tal tarea.

Las conclusiones a las que llego en un primer momento son variadas e interesantes, pero no me llevan a pensar que sea el mejor camino para todos.

1) Si Adobe se ha pegado el curro de hacer esto, quiere decir que Apple no ha puesto de su parte para llevar el Flash Player a su plataforma (cosa que no ha ocurrido con Android, Windows Mobile, Symbian / Nokia, Sony Ericsson… y en camino Blackberry recién anunciado en el MAX de Los Ángeles). Esto pone a Apple totalmente fuera de la unanimidad que se ha logrado con la inmensa mayoría de fabricantes de dispositivos móviles, lo cual es malo. Sí, lo es.

2) Que Adobe haya creado un IDE paralelo que permite generar una aplicación válida y nativa para iPhone le rompe a Apple el monopolio que tenía hasta ahora en su plataforma Mac + XCode, etc para la creación de aplicaciones para iPhone. Otra brecha entre las dos empresas, no creo que Apple esté contento con esto (solo hay que ver la pantalla creada por Adobe que obtienes si intentas instalar el plugin de flash en el iphone)

3) Además el IDE de flash da el salto de AS3 a la aplicación nativa, con lo que también se deja de lado la progrmacion en Objective – C, que si bien es un infierno y me alegro, no hace más que crear otro punto no agradable entre las dos compañías. La gente que viene de flash, con esta herramienta va a evitar muy mucho el entrar en el mundo de Cocoa Touch.

4) Habrá que ver qué limitaciones nos trae que Flash no corra en el iPhone sobre flash player, sino que se convierta en aplicaciones iPhone nativas. Un ejemplo: ya te puedes olvidar de cargar SWFs externos con código AS3… sin ir mas lejos, con lo que imagino que la programación en AS3 tendrá que ir orientada a la publicación posterior para iPhone, y tendrá las limitaciones y diferencias existentes entre el player de flash y las capacidades nativas de una aplicación iPhone.

5) Otro tema es el de la comunicación entre Apple y Adobe, ya que cambios en el SDK (intencionados o no) pueden producir problemas al equipo de Adobe para mantener la herramienta al día, y sin duda esto si no logran una manera más o menos consensuada de hacerlo puede suponer un coste muy alto de mantenimiento para Adobe.

6) En cuanto al proceso de publicación en la appStore, no hay cambios, el resultado sacado desde Flash CS5, será equivalente a una apicación para iPhone creada directamente desde el entorno habitual.

El resultado es que tenemos Flash como IDE de desarrollo con AS3 para iPhone, pero NO tenemos flash en el iphone. Y este paso me hace dudar mucho algo de lo que estaba convencido, y que no era otra cosa que veríamos el player de flash en el safari de iPhone. Miedo me da que sea el golpe definitivo para que la vía que parecía estar abierta, se rompa del todo. Me parece un desarrollo muy drástico para un futuro flash player en el iphone.

Steve Jobs se quejaba del rendimiento del player 10 en dispositivos, que ha sido mejorado más que notablemente con la versión 10.1, pero aun así Adobe ha tenido que montar semejante sarao, para que los desarrolladores flash puedan atacar la apple Store. No sé, empiezo a ver una guerra abierta XD

Quizás me sorprendan nuevamente y sea el primer paso de un amor aun más radical, pero tal y como lo han anunciado, no me suena a esto… han puesto por las nubes a Palm por su trabajo para meter player 10 de la manera que lo han hecho en la Pre, han puesto por las nubes a Android por lo mismo con su HTC Hero, y así con un montón de fabricantes (han destacado muy notablemente la entrada de RIM en el Open Screen Project), pero de Apple no ha habido el mismo feedback.

De todas formas aun quedan muchas cosas por cubrir relacionadas con la API de Cocoa Touch para la integración con el dispositivo y que NO están accesibles via AIR, como cita Mark en su post:

  • Selección de fotos del sistema de ficheros
  • Selección de contactos desde la agenda
  • Acceso a cámara
  • Operaciones de copia, cortar, pegar.
  • Soporte a accesorios
  • Compras dentro de la aplicación
  • Peer to Peer
  • Mapas
  • Acceso a la librearía de iPod
  • Compass
  • Notificaciones Push
  • Grabación de audio y video
  • Controles Parentales

Y nos dejamos algunas en el camino con respecto a las que tenía el propio flash player, y que al ir portado para iPhone no tenemos:

  • Contenido HTML embebido
  • RTMPE
  • H.264 Video (se podría usar URLRequest)
  • Carga dinamica de SWF con código AS3
  • PixelBender

Pongamos un poco de humor a esta noticia en forma de cazadores de mitos… qué bueno!

En resumen, es una gran noticia, ya que muchos podremos dejar de lado Objective – C (al menos para determinados casos) y encima se abre una camino de desarrollo desde un IDE que no obliga a emplear las herramientas propuestas por Apple, y que en mi caso me hace emocionarme, de pensar programar para iPhone con mi Eclipse + FDT. Pero seguro que no es todo tan bonito, que tiene sus puntos negros y que no podremos hacer lo que queramos, porque no es realmente Flash en el iPhone, sino una herramienta que ayudará infinitamente a desarrolladores flash a publicar para iPhone.

Sin duda el gran anuncio hubiera sido el Flash Player en la plataforma, pero esto de momento… me parece que no toca. De momento os dejo enlaces a recursos interesantes sobre este pedazo de notición: