Adobe Edge: HTML5 a la Flash

Screenshot Adobe Edge

Por: Francisco Tirado

Acaba de salir el primer preview de Edge por Adobe, inmediatamente baje la versión de Mac y me puse a trabajar!

¿Por qué la pompiadera?
Para quienes no comparten mi ánimo inmediato o no están al tanto de las recientes batallas entre el Flash plugin y HTML5 (ya no tan reciente desde que HTML5 ganó), Edge es la respuesta de Adobe a los ataques de Steve Jobs por incosistencias en el player en Mac, la inabilidad de tener una version no-limitada en los aparatos móviles y en fin haber perdido la batalla contra estándares.

¿Que es?
Lo que idealmente Edge nos traerá es un IDE (Entorno de desarrollo integrado) que haga mas fácil la creación de animaciones, aplicaciones y juegos sin necesariamente saber HTML/CSS/Javascript. En mi opinión la meta no es tanto la herramienta para quienes no saben tales lenguajes, si no una manera de estructurar el código en un ambiente visual mas fácil de apreciar y entender por varios programadores.

El GUI
Habiendo sido un fiel usuario de Flash por años, me resultó bien facil de usar, se siente como la versión futurística de la version del 1994 de Flash; explico…
Aunque el GUI (Interfaz gráfico de usuario) está a la par con los programas populares de Adobe inclusive mas ‘sleek’ que CS5; siendo el primer preview falta la mayoría de todo. Tanto asi que las herramientas con que uno cuenta son sólo tres: el pointer, un rectángulo y rectángulo con esquinas curvas. Por el momento no hay círculos, ‘paths’ y mucho menos movieclips.

¿Donde está el MovieClip?
Para todos aquellos que vienen del mundo de Flash conocen lo importante y poderoso que es un movieclip. Es tan importante que paré todo un momento y me pregunte cómo no había algo parecido… Mientras lo extrañaba me puse a pensar en el enfoque de diseño que le está dando Adobe a este proyecto. Realmente no hay necesidad para un movieclip, tus objectos son tan sofisticados como quieras determinar por Javascript. Por ejemplo, una vez termine mi animación en Edge quería que hiciera un loop y al no encontrar como hacerlo en el programa, escribi lo siguiente en el ready function:

 

El Código
Con esta realización me puse a verificar el código que genera Edge y es lo mas limpio que he visto ser generado por un programa. Se acabó el tiempo pre-web2.0 de los plugins con valores duplicados para ’embed’ y ‘object’, ahora parece que esto lo hizo la misma w3c. Todo está super organizado al abrir el bonete y obviamente el motor es jQuery. El css viene generado con fallbacks e interpretaciones específicas para cada browser. Todo lo que es Javascript está en un file aparte. Estoy seguro que en un futuro se podrán usar los CDN de Google y quizas comprimir los ‘.js’.

No todo es fiesta sin embargo, mayormente porque no se puede hacer casi nada con la aplicación, pero es el inicio. Edge puede ser el jQuery de javascript, y un punto de entrada para animadores y diseñadores a HTML/CSS/Javascript.

Aquí una animacioncita que hice.

Categories
Default

Aplicaciones móviles en el browser

El debate es sencillo de entender. Tengo un site y quiero una versión móvil. Mis alternativas son: hacer dos o tres apps nativos para dar support a la mayoría de las plataformas de smartphones o hacer un web app optimizado para estas plataformas.

Para mi la respuesta es fácil, desde hace muy poco. Web app.


Cuando el iPhone lanzó hace unos años y Steve Jobs dijo que la única forma para desarrollar para el iPhone era usando Webkit como plataforma, me emocioné. Pensaba que como en el pasado Apple estaba tomando una posición adelantada al mercado y harían todo un ecosistema para hacer viable y competitivo este tipo de apps. Pues no. Una vez revelaron la plataforma de desarrollo nativo esta tomó toda la atención, principalmente motivado por el AppStore y la posibilidad de distribución que esto presenta.

Que no me gusta de los apps nativos. Soy un web developer y designer principalmente. Diseño y programo aplicaciones para el web. El web tiene la ventaja grandísima de que si funciona en un browser, es muy probable que funcione en todos. Claro con las complicaciones comunes que presenta darle support a Internet Explorer 6 y sus hermanos mayores. Trabajar con apps nativos significa dedicar tiempo a cada plataforma que tiene sus tecnologías únicas. Significa sumergirse en un proceso de entendimiento profundo del software y su interacción con el hardware en cada dispositivo. Esto no es viable para un equipo de dos o tres developers. No es posible desarrollar una aplicación web de alta calidad, un app de iOS y un app de Android en un tiempo razonable.

Para mi la única forma realista de empezar una empresa web es con un equipo pequeño (dos o tres hackers) de gente muy talentosa y en el menor tiempo posible. Si a este negocio web le añades el componente de aplicación móvil y tratas de llegar a iOS y Android, pierdes agilidad o necesitas dedicar recursos a esa parte del negocio lo cual me parece un poco extravagante.

Existen plataformas como Titanium y PhoneGap que tratan de completar el paso que Apple no ha dado para convertir los web apps en ciudadanos de primer orden dentro de su plataforma, pero creo que ninguno de los dos tiene la respuesta correcta.
 

Mi apuesta

  • Webkit será la plataforma común para la mayoría de los telefonos móviles. Esto no es una predicción, porque ya es así, pero apuesto a que seguirá siendo así por mucho tiempo.
  • Los web apps se convertirán en ciudadanos de primer orden en todas las plataformas móviles. El AppStore, el Android Store, el Blackberry store y el Windows Phone 7 Store van a vender web apps.
  • Será posible descargar aplicaciones móviles con imagenes, css y javascript corriendo desde el filesystem de los dispositivos y solo llamando al servidor para enviar o recibir data nueva. Esto tambien existe.
  • El standard para empresas de servicios online será aplicaciones web optimizadas para móvil y no aplicaciones nativas.
  • Los juegos serán el principal y casi único usuario de aplicaciones nativas.

Mi estrategia

Voy a dejar de pensar tanto en aplicaciones nativas y voy a trabajar en ver como puedo mejorar mis web apps para el web móvil. Como toda apuesta siempre puedo equivocarme.