Enyo FAQ en Español

Logo de Enyo

Logo de Enyo

Una de las mejores cosas que tiene el escribir en un blog, es que algunas personas dediquen parte de su tiempo a leer tus desvaríos. Si encima te dicen algo, ya sea por Twitter, en persona, o mandándote un correo es una sensación muy especial. Y hay veces en las que te piden que les ayudes con algo, porque piensan que eres un experto en el tema. Palabras mayores, porque yo toco muchos campos, y de algunos voy sabiendo algo, pero de ahí a considerarme experto…

El caso es que Nicolás me escribió desde Argentina. Está interesado en el Framework Enyo y al parecer leyó mi post Aprendiendo a aprender Informática (y JavaScript), tiene una TouchPad y quiere desarrollar para webOS. Pero claro, está la barrera del idioma: la documentación de Enyo es muy escasa, y está toda en Inglés. No existe documentación en Español, y creo que en España casi que nos conocemos personalmente los dos o tres locos que hacemos Apps para la TouchPad (te estoy mirando a tí, Daniel 🙂 ).

Yo tengo ganas de seguir activamente con Enyo, aunque en los últimos meses he estado programando principalmente para iOS / Objective C. Pero quiero profundizar en JavaScript y CSS3, y disponer de una herramienta (Aplicaciones HTML5) que se ejecutan en muchas plataformas, por no decir en todas. Además, todo el movimiento que está llevando hacia Open webOS 1.0 y Enyo 2 me resulta muy interesante.

Respondo las preguntas de Nicolás, que es lo que me ha llevado a escribir esto:

1. ¿Que necesito para programar en webOS? ¿Conocimientos en que lenguaje debo tener?

Para programar en webOS se usa el malllamado HTML5, ya que webOS se basa en los estándares de las aplicaciones web. Digo malllamado porque realmente HTML no escribes para nada: es todo CSS3 y JavaScript. Luego lo principal es aprender el lenguaje JavaScript. Para eso, se pueden seguir las instrucciones del post antes mencionado.

2. ¿Qué IDE se utiliza?

Una App Enyo es un conjunto de ficheros de texto JavaScript, las hojas de estilo CSS, algún fichero de configuración y un index.html. Además de los recursos que utilices (sonidos, imágenes, etc.). Todo ello en una estructura concreta de carpetas. Por ello, realmente puedes usar el IDE que te resulte más sencillo para editar JavaScript.

Si usara una máquina Windows, creo que mi opción sería NotePad++, que es Software Libre, es gratis y es una pequeña maravilla. Al final vas a estar escribiendo código en varios ficheros, luego cualquier editor con «pestañas» sirve. En mi Mac, primero lo intenté con Aptana Studio, que es una versión adaptada de Eclipse para trabajar con HTML5. Incluso había un plugin para hacer Apps webOS, pero por desgracia usaba Mojo (el framework que se usa para los teléfonos de Palm, que es más antiguo que Enyo y con el que no he trabajado). Pero fallaba mucho, y era muy pesado.

Según avancé, me di cuenta de que Safari (o Chrome), cualquier navegador basado en WebKit puede depurar una App Enyo, ya que activas el modo desarrollo y dispones de un inspector que es una maravilla. Desde el inspector puedes establecer puntos de ruptura y depurar, ver el valor de las variables, consultar qué hay almacenado en Local Storage, o cambiar el CSS en el navegador hasta que tenga el aspecto que quieres, directamente, sin recargar ni grabar. Obviamente todo esto se puede hacer también con Firefox, pero dado que webOS se basa en WebKit, me pareció más adecuado.

Modo Desarrollo de Safari

Modo Desarrollo de Safari

Así que en el Mac terminé usando DashBoard (el editor que se usa para crear los widgets del Mac, que son HTML5 por cierto). Aunque podía haber usado vi, o cualquier otro. Realmente lo importante es tener un buen editor de textos con resalte de sintaxis. No vas a tener «proyectos», sino que vas a trabajar directamente sobre las carpetas y ficheros que uses. Y, claro, estarás usando algún sistema de control de versiones, ¿no? 😀

3. ¿Que es Ares?

Ares es un IDE que corre en el navegador. Es decir, uno inicia sesión en ARES y desde ahí puedes crear una App, editar el código fuente. Incluso puedes depurarla. Problema: que Ares 1 funciona con Mojo, no con Enyo. Luego no puedes hacer aplicaciones Enyo con Ares 1. Pero ya están trabajando en Ares 2, que está en GitHub, y aunque no funcione demasiado bien de momento, promete bastante. En cualquier caso, de momento usaría un editor de texto para hacer las Apps, como he comentado antes.

Ares

Ares

4. ¿Desde Ares se pueden crear aplicaciones? ¿Cómo se compilan o como se las lleva a la tableta?

Sí, desde Ares en teoría se podrá depurar en el dispositivo. Hoy en día, para pasar una App a tu touchpad debes primero ponerlo en modo de desarrollo, que es tan sencillo como buscar la cadena «webOS20090606». Te aparecerá un icono de una App llamado «Developer Mode». Lo pulsas, activas el modo de desarrollo y con las herramientas de la línea de comandos que vienen con el SDK de la TouchPad puedes instalar una App así:

palm-install com.femtocoders.feedreader_1.0.0_all.ipk

Obviamente, antes necesitas empaquetar la App con palm-package. Toda la información sobre estas herramientas está en el SDK de webOS (nota: si vas a hacer Apps HTML5, necesitas el SDK, el PDK es para hacer Apps que corren código nativo y se escriben en C++, como los juegos)

5. ¿Que es Enyo?

Enyo es el framework que se usa para hacer Apps HTML5 en webOS. Incluye a muchos otros frameworks JavaScript, y te permite acceder al hardware de la TouchPad (al GPS, por ejemplo). Con webOS venía Enyo 1, que ahora ya es Software Libre. Pero Enyo 1 estaba muy influenciado por la TouchPad, su licencia era para usarlo sólo con webOS y estaba basado en WebKit. Con Enyo 2 se intenta disponer de un framework más genérico para cualquier dispositivo móvil (o de escritorio) que soporte HTML5, y pensado desde el minuto uno para ser Software Libre.

Podemos bajar ambas versiones (Enyo 1 y Enyo 2) de la página de descargas de Enyo. Han creado un tutorial para Enyo 2 y hay un Playground donde podemos editar y probar el código de Enyo directamente en el navegador.

6. Las aplicaciones creadas en Enyo son multiplataforma?

Sí, las creadas con Enyo 1 se prueban y depuran en el navegador de escritorio. Luego ¡tienen que ser multiplataforma!. Pero con Enyo 1 se hacía referencia al hardware de la TouchPad (ver si hay conexión WiFi, o consultar al GPS, etc.). Con Enyo 2 las Apps creadas van a ser aún más multiplataforma si cabe. Luego es una buena opción para crear el interfaz y el esqueleto de tu App HTML5. Y luego, por supuesto, puedes añadir los frameworks JS que te apetezcan, que para eso todo es JS.

Dejo aquí la respuesta y espero que esta FAQ le sirva a alguien. Si hay dudas, planteadlas en los comentarios e iré actualizando este post. Y, claro, siempre hay que leerse las FAQs oficiales de Palm sobre Enyo.

Keep coding!

3 comments

  1. Pingback: We.Developers 001 – webOS & Enyo | We.Developers

  2. Pingback: 37 Aplicaciones web con @dfreniche | Telar del Geek

Comments are closed.