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!

j j j

Mi primer Mobile World Congress

Entre los objetivos que me había planteado para este año estaba el asistir a algunos eventos relacionados con el desarrollo móvil. Pues bien, cumpliendo con ello he estado en el MWC de Barcelona por primera vez y quería compartir algunas impresiones. Ya, ya se que hace un mes que acabó el MWC. Pero vamos, si lees habitualmente mi blog sabrás que hablo de lo que me apetece, no de lo que es noticia. Que para eso es mío 🙂

La Fira el Domingo antes de abrir el MWC

La Fira el Domingo antes de abrir el MWC

El MWC es grande. Muy grande. Lo esperaba grande, pero no tanto. Hay mucho para ver durante el día. Muchos pabellones, algunos de dos plantas y llenos de stands para visitar.¡ Y qué stands! Uno piensa inicialmente en una mesita dentro de la típica caseta de exposición. De esos también hay. Pero las grandes marcas (Nokia, RIM, Samsung, Huawei, Google/Android) tenían montajes absolutamente espectaculares. Sitios llenos de pantallas y chismes, que puedes tocar y probar. El sueño de todo Geek. Pero en lugar de contar lo mismo que ya ha contado todo el mundo, te recomiendo que escuches a Serantes explicar en este capítulo de su podcast cómo es un MWC. Lo cuenta tal y como es.

La zona Developer del Pabellón de Nokia

La zona Developer del Pabellón de Nokia

 

Samsung. Sobran las palabras

Samsung. Sobran las palabras

Llegué a BCN el Domingo antes del MWC, y me quedé el Viernes y el Sábado tras el evento, por ver Barcelona en modo turista y porque el Viernes tenía una reunión. Creo que me curé una gripe en pie, porque del Domingo al Miércoles estuve francamente mal. Pero “no hay piedad en este Dojo“, y mi querencia geek no me permitía parar.

Echo polvo, pero en pie. ¡Para que luego me digan Fanboy!

Echo polvo, pero en pie. ¡Para que luego me digan Fanboy!

En mi caso, iba con la gorra de desarrollador (literalmente). Acompañado de @josehidrom y escoltado por @rais38 y sus compañeros “Androideros”, nos dejamos la piel durante esos 4 días en el pabellón 7, que es donde estaba el App World, el sitio de los programadores. Un sitio alucinante, donde estaban Nokia, RIM (BlackBerry), gente de Firefox (presentando su tienda de aplicaciones), Ubuntu (mostrando Ubuntu on Android), Intel (enseñando también su tienda de Aplicaciones), …Todo el mundo quiere ahora tener su tienda de aplicaciones y su ecosistema de desarrolladores.

Literalmente con la Gorra de Programador. Y con el gran Pedro M. Santos a mi lado

Literalmente con la Gorra de Programador. Y con el gran Pedro M. Santos a mi lado

Vi mucho HTML5 (aunque a lo que se refieren en realidad es a una nueva manera de escribir aplicaciones web de una sola página usando HTML5 + CSS3 + JavaScript, se necesitan los tres) por todos lados. Y mucha necesidad. Necesidad de desarrolladores. Quitando Android e iOS, el resto lloran por las esquinas del MWC para conmover las almas de los programadores que por allí se mueven. Hay mucho trabajo ahora en el espacio móvil. Así que ya sabes: no hay excusas.

<SPAM>

Y además, si no sabes cómo escribir Apps para iOS siempre puedes ver los vídeos de Café y Cocoa, mi Video Podcast, o contratarme para que imparta algún curso en tu empresa. Tu karma te lo agradecerá.

</SPAM>

Hubo fiestas, tanto en la Fira como por toda BCN. Fui a algunas, pero no a muchas. No tenía el cuerpo en condiciones, y además, cada día en el MWC es como una semana. La próxima vez tendré que dosificarme un poco más (porque espero poder ir de nuevo el año que viene). En una de las fiestas del buscador Dolphin conocimos a gente de Evernote, y me encantó, la verdad. Siempre gusta conocer a la gente que está detrás de un producto que usas casi a diario.

Además de hacer turismo, el Jueves pude asistir a una reunión de la NSCoder Night de Barcelona, en el mítico iFrankfurt, como ellos lo llaman. Muy buena experiencia, aunque no hay quien se coma lo que te ponen, por cantidad, que bueno estaba un rato.

La entrada de este año fue cortesía de RIM, quienes encima me regalaron una Blackberry Playbook por asistir a su charla. Es un chisme muy interesante, que me recuerda mucho a mi HP TouchPad con webOS, del que escribiré algo más adelante y para la que espero hacer algo con HTML5. El S.O. QNX que lleva no tiene nada que ver con esa antigualla de BB7.

Así que, como experiencia, muy buena. He pecado bastante de ser novato y no le he sacado todo el partido que podría, pero espero que lo visto me ayude durante este año. Bueno, la siguiente conferencia será el iOSDevUK 2012, del que ya tengo la entrada pagada. Si alguien se anima, que se venga conmigo.

j j j

Mi TouchPad

Llevo usando una tablet TouchPad de HP desde mediados de Agosto. Si, si, justo esa: la que HP comenzo a vender con WebOS a precio de iPad, que luego rebajó y acabo poniendo a precios de saldo, casi suplicando que se la quitaran de las manos. Esa que esta en estado de zombie: es un no-muerto que camina. Esa que el anterior CEO de HP, Leo Apotheker (un genio en esto de quebrar empresas, por lo visto) decidio cancelar de un plumazo, dejando a propios y extraños con cara de tontos.

El caso es que en Agosto me propusieron desarrollar algunas Apps para WebOS, el S.O. de la TouchPad. Y no pude negarme. La idea de aprender un nuevo lenguaje (JavaScript), con un framework de desarrollo desconocido (Enyo) sobre un S.O. del que habia escuchado maravillas (pero nunca había probado) y poder cacharrear con un nuevo chisme me hicieron aceptar sin pensar. La unica condicion que puse era poder disponer de un dispositivo real sobre el que probar, y poder quedármelo. Y así ha sido: ahora soy el orgulloso propietario de una TP de 32 GB, con la que estoy muy contento.

En tres meses he desarrollado tres aplicaciones que ya estan en la tienda de aplicaciones de HP para la TouchPad (HP App Catalog). Por motivos de acuerdos de confidencialidad no puedo decir cuales son. Busca las tres mas bonitas, y esas son las mias :-). Por si alguien no lo ha pillado, repito: en tres meses, partiendo desde conocimientos nulos en todo (S.O., lenguaje, framework, herramientas) tres aplicaciones acabadas. WebOS / Enyo es un entorno increiblemente sencillo, potente y productivo para desarrollar, cuando le coges el tranquillo. Es una autentica pena que se cargasen este S.O. Pero asi es la vida.

Y antes de seguir hablando de mis experiencias y usos de la tableta, quiero dejar este punto bien claro. WebOS esta muerto sin posibilidad de resucitar. Seguira existiendo, en una medio vida, mantenido por una fiel comunidad de aficionados. Pero no va a existir ningun “comeback” triunfal de WebOS, ni va a destronar a iOS, ni nada de nada. He visto esto mismo montones de veces en el tiempo que llevo alrededor de esta industria. Lo vi cuando Amstrad acabo comprando Spectrum, que en su epoca fueron de los pioneros en las micros. O cuando Amiga sucumbio ante Windows. O cuando OS/2 Warp desaparecio de escena. O, año tras año, cuando se anuncia, ya de broma, que sí, que de verdad este va a ser el ano de Linux en el Escritorio y se va a desbancar a Windows.

Ser mejor tecnicamente que otros no es garantia de exito. Vender mucho y con buen margen si. Eso es lo que tendrian que haber pensado antes de sacar la HP TouchPad. Pero da la impresion de que Leo queria que la tableta fracasase rapidito para quitar “esta tonteria de Palm” lo antes de la idea que tenia de la nueva HP, una empresa enfocada solo al sector profesional. Al final, Leo ha dejado de ser CEO de HP antes que WebOS muera, pero el daño ya está hecho. Ahora deshojan una margarita para ver cómo malvender Palm. Al final, WebOS creo que acabará siendo Software Libre. Como Maemo o Meego. Ambos, dos excelentes productos. Y sí, con esas cotas de popularidad.

(Nota: esto lo había escrito antes de que HP anunciase que, efectivamente, va a liberar el código de WebOS y Enyo. Pero a día de hoy no se conoce ni el proceso, ni la licencia, ni nada)

El caso es que disfruto mucho con mi TouchPad. Su factor de forma es parecido al del iPad 1. De hecho, las fundas de iPad 1 son compatibles con la TouchPad. Usan el mismo display (1024 x 768, el mismo del iPad 2 por cierto). Y tiene muchas cosas chulas. Por ejemplo, al conectarla por USB aparece como una unidad mas y puedo intercambiar ficheros sin limitacion. Puedo usarla de disco USB de 32 GB, lo cual no esta mal. Creo que esto, para un usuario no avanzado es un problema. Para un geek como yo, es una puerta abierta al cacharreo.

Otra cosa que me encanta es que puedo pasar los videos de iTunes directamente ya que reproduce sin problemas H.264. Asi que puedo ver los vídeos de la WWDC o de formacion de Stanford simplemente copiándolos. Y tiene algo que odio, pero que debo reconocer que he usado en no pocas ocasiones para ver video: Flash. Puedo ver videos directamente en la pagina de YouTube o en Vimeo sin problemas. Y es una gozada cuando no quieres bajarte nada, directamente te vas al video y listo, lo ves en streaming. Comiéndote la batería, eso sí.

Cuando te compras la TouchPad viene en una caja con todo muy “apretado”. Y vienen pocas cosas: la tableta, un cargador de pared (que es también cable USB para sincronizarla) y poco más. Pero aprovechando que en Septiembre estuve en el iOS Dev UK tuve la suerte de encontrarme en un Carphone Warehouse un teclado inalámbrico HP y la base de carga TouchStone. He grabado este vídeo mostrando la tableta y sus accesorios. Grabado con el iPhone 4 y poca luz, pero creo que se ve.

Como se puede ver en el vídeo, la TouchPad admite “dual boot” de WebOS y Android. Tengo instalado CyanoGen Mod 7 con un Android 2.3.7 que va francamente bien. Aunque la experiencia no es igual de pulida que en WebOS, pero está bien el poder usar más de un S.O. en la TP. Si no encuentro suficientes juegos para los niños, reinicio en Android y listo.

Si puedo y tengo tiempo, voy a seguir desarrollando mis propios proyectos para WebOS 3.0 / Enyo. Quiero profundizar en JavaScript y aprender Node.js. Igualmente, me gustaría tener una App con mi nombre en una segunda Store. Y así, irlas colonizando todas 🙂

j j j

Ejemplo de menú para una aplicación Enyo/WebOS

Si no te quieres leer todo este rollo, puedes ir a GitHub y bajarte el código fuente.

Este año he tenido la gran suerte de que se me presenten muchos proyectos, a cual más interesante y excitante. Desde una oportunidad para trabajar como Genius en una Apple Store hasta la posibilidad de integrarme en una compañía fantástica de desarrollo móvil, como es Mobivery. Oportunidades realmente estimulantes, que me hacen pensar que estoy vendiendo la moto de forma inconsciente, porque tampoco soy tan bueno programando. Aunque sí que me merezco los sueldos más altos que se puedan pagar 🙂

No me he arrepentido de no aceptar estas ofertas porque volví de las vacaciones con mi “vocación emprendedora” más fuerte que nunca. Con ganas de hacer cosas, y sobre todo, de programar. Y parece que el Karma me ha recompensado, ya que se me planteó la posibilidad de desarrollar para la plataforma WebOS, y concretamente para la tableta de HP/Palm TouchPad. Tenía muchas ganas de conocer otra plataforma de desarrollo móvil, y, aunque ya me había hecho el “Hello World” con QT para Maemo y no acabo de encontrar ganas para explorar Android, no me lo pensé y acepté. Con una condición: quería un dispositivo para hacer las pruebas. ¡Me encantan los chismes!

He dedicado Agosto a aprender sobre el desarrollo de WebOS, a la vez que iba desarrollando la App para el cliente. No tenía ni idea, nunca había visto nada de WebOS (aparte del S.O. a nivel de usuario, y a través de vídeos). Empecé viendo vídeos sobre el desarrollo con Mojo, hasta que me di cuenta de que para la nueva versión del S.O. WebOS (la que viene con la TouchPad) es necesario desarrollar con el framework Enyo. Me instalé el SDK y el emulador, y me lancé a probar ejemplos. Me registré como desarrollador en Palm. Era divertido. Salvo cuando no lo era. Apenas hay ejemplos de Enyo por ahí para mirar, casi ningún tutorial, y en StackOverflow muy pocas preguntas / respuestas. Me quedaban los propios foros de Palm.

A esto hay que sumarle que yo no tengo ni idea de JavaScript. Cuando digo ni idea me refiero a que podía usar una biblioteca de funciones, pero sin conocer el lenguaje. Esto tiene fácil arreglo y me he lanzado a aprender JavaScript.

Y entonces llegó el bombazo: HP abandona la producción de dispositivos con WebOS, vende de forma apresurada las TouchPads para quitarse de en medio el Stock, y dice que quiere vender su parte del negocio de venta de PCs. Muy divertido. Incluso he bromeado en Twitter, viendo mis últimas adquisiciones y su posterior destino (Nokia N900, HP TouchPad) sobre mi capacidad gafe para hundir una empresa. Aunque pocas bromas: el proyecto que estaba haciendo entró en soporte vital, y estuve unos días esperando a ver qué pasaba. Finalmente se ha decidido concluir las Apps y subirlas a la tienda española, que se abrirá espero en Septiembre / Octubre. un alivio, porque realmente me gusta el desarrollo con Enyo, me parece un cambio tan radical desde Cocoa que me permite mantenerme fresco programando todo el día: un rato Cocoa y luego Enyo / Javascript.

Pero hay muy pocos ejemplos sobre Enyo. Así que, tras sufrir unos días con una parte de la App, he decidido crear un pequeño ejemplo de una App con un menú fijo a la izquierda, y con vistas que van cambiando según se pulsan las opciones de menú. Nada espectacular, pero hasta dar con la tecla de cómo combinar los Enyo.Pane con los Enyo.SlidingPanel me ha llevado un rato. Así que, si quieres probar la app, te instalas el SDK (lo necesitas para tener la librería Enyo), te bajas el código fuente del ejemplo de GitHub, y lo pruebas con un navegador WebKit (Chrome o Safari). También puedes usar el código como esqueleto para tus nuevos proyectos con Enyo, si es que te animas.

Os dejo unas capturas de la App, para que la veáis en acción:

Primera opción de menú

Primera opción de menú

Segunda opción de menú

Segunda opción de menú

Lo más complicado: el menú y los sliding Panels

Lo más complicado: el menú y los sliding Panels

j j j

Aprendiendo a aprender Informática (y JavaScript)

Esta es la vida del informático. Da igual los años que tengas: la sensación es que nunca tienes ni idea de nada. Avanza tan rápida la industria que, por mucho que hagas, siempre te quedas atrás. Y hay que tomar decisiones. Los tiempos aquellos de poder ser un “informático renacentista” que sabía de hardware, de software, de todo un poco, pasaron. Yo hace tiempo que desistí de aprender ciertas cosas (como BB.DD.) y me centré en otras. Si no enfocas sobre un tema, no hay manera.

Por eso te recomiendo que sigas mi “método” sobre cómo aprender, en general, mientras avanzas en tu carrera profesional como informático:

  • asúmelo: siempre va a haber muchas más cosas que NO sepas, que las que sabes. Aunque ahora aprendas Ruby, mañana necesitarás Java. O JavaScript. O C++, Clojure, o lo que sea. Nunca lo vas a saber todo. Y no pasa nada.
  • hablar estas cosas y admitir las propias carencias frente a nuestros compañeros nos quita un gran peso. Porque la mente es mala, y constantemente te dice “mira que no saber CSS, seguro que todos estos ya hacen transformaciones CSS3 mientras duermen, y tú aquí, sin tener ni zorra idea de nada, mira que eres torpe…“. Nos machacamos sin piedad, y resulta que cuando preguntas no todo el mundo está tan avanzado. Es más, si tienes esta inquietud, probablemente tú ya sepas algo: “sólo se que no se nada“. Uno de los motivos por los que voy a las NSCoder Night es por hacer esta “terapia de grupo”.
  • no te dejes llevar por el agobio, o el estrés. Sí, vale, que tienes que entregar el proyecto para ayer: entonces usa Google (o mejor, stackoverflow). Pero márcate unos objetivos cada año, y aprende o profundiza en algún aspecto que te sirva y te interese: un lenguaje de programación, dominar un IDE, ver qué sistema de control de versiones te gusta más, patrones de diseño, UML, etc. Si tienes esos objetivos marcados y los cumples, cada año sabrás más que el anterior. No son importantes los años de experiencia, sino lo que experimentas durante esos años.
  • lee libros. Internet es fantástico para búsquedas de dudas, y hay muchos tutoriales. Pero muchos de ellos no se pueden comparar al material que encuentras en un libro: bien pensado, estructurado, con ejemplos. Además, leer un libro supone un esfuerzo y desarrollar una concentración que nos viene bien como programadores: cada vez somos menos capaces de concentrarnos durante un par de horas, por culpa de las interrupciones. Leer te obliga a trabajar esos conocimientos, y así a aprender.
  • una vez leas libros, busca vídeos del tema. En iTunes (y en Internet en general) hay vídeos de casi todo. Es bastante ameno ver cómo se hace algo, en lugar de tener que leerlo. Pero hazlo siempre después de leer el libro.
Estos son los pasos que suelo dar, y me han servido tanto para las certificaciones Java, como para aprender Cocoa Touch. Y este verano me ha surgido la oportunidad de poder empezar a desarrollar Apps para otra plataforma móvil, WebOS y el HP TouchPad. El problema es que (ver punto primero) no tengo ni idea de JavaScript. Solución: tirar de Amazon.co.uk (que a partir de una cantidad no cobra gastos de envío) y pedirme estos dos libros sobre JavaScript:
Libros JavaScript

Libros JavaScript

Tienen el visto bueno de los Tuiteros expertos en JavaScript (José Blanco y Luis Medel), así que deben ser la pera.
Con ellos voy a seguir explorando el Framework Enyo y WebOS, a la espera de que me llegue una unidad de pruebas HP TouchPad para depurar las Apps. Cuando llegue, pondré por aquí mis impresiones.
j j j