Primeros tropiezos con Sencha Touch 2

Estoy armando un app (por primera vez), ya me he decantado por phoneGap y hoy tuve qe hacer la selección entre Sencha, XUI y jQuery Mobile. Cuando me di cuenta que jQuey Mobile es un plugin sobre jQuery lo descarté, en mobile no necesito ni la mitad de todo lo que trae jQuery.

Cuando vi el demo de “Kitchen Sink” de Sencha Touch 2, lo elegí.

Hasta ahí íbamos bien.

Descargué sencha, que hay que descomprimir en una carpeta del servidor local (yo uso WAMP)

C:\htdocs\sencha

Navegas hasta la carpeta http://localhost/sencha/ y aparece una página de bienvenida con un video de “Primeros pasos” en inglés y en un MAC.

Yo tengo un PC con windows 7 de 64 bits, con un suspiro apreté play.

Cinco segundos y ya estaba abierta la línea de comando, en el video navegan hasta la carpeta donde está instalado sencha y parten inicalizando una carpeta con el siguiente comando

sencha generate app GS ../GS

hago lo mismo y

no se esperaba * SenchaSDKTools * en este momento


Pero sigo con el problema, así que buscando doy con el siguiente artículo de Sasha dos Santos

sashageekette.wordpress.com/2012/03/24/getting-started-with-sencha-touch-2-0-on-windows-7-x64/

Donde me aclara que debo navegar hasta la carpeta donde está sencha descomprimido y entrar en la carpeta command ahí lo intento nuevamente:

"jsdb" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutables.

Lo que para mí es chino, sigo leyendo el artículo y creo hacer lo que dice, pero luego de media hora me doy cuenta que hay una línea que no estaba leyendo bien, así que las instrucciones, en español y para los perdidos (como yo) son las siguientes:

  1. En el CMD navegar hasta la carpeta donde sencha SDK está descomprimido C:\htdocs\sencha
  2. Escribir: command\sencha si aparecen una serie de líneas explicando el uso, está ok; si no asegurarse de que estar ejecutando los comandos desde la raíz de la instalación de sencha.

  3. finalmente command\sencha generate app GS ../GS ojo con las barras, la primera es Windows, la segunda LINUX



Carpeta generada! sigamos con el video.

El video presenta a una velocidad impresionante cómo ir armando tu primer app.

Todo bien hasta que me salgo del guión, en cierto momento cargan datos JSON desde un feed de feeburner. Y si sigo los pasos, ni un problema. Pero si genero mis propios

En el fondo estoy convirtiendo un array con los datos cargados de la página.

“Unexpected token :”
necesitaba JSON-P

JSON-P

Ni idea qué es ni como hacer JSON-P en PHP, pero doy con este artículo de Torleif Berger www.geekality.net/2010/06/27/php-how-to-easily-provide-json-and-jsonp/ donde explica cómo generar JSON-P con PHP.

Sólo que su método de validación es un poco muy estricto y me firltra la manera en que Sencha Touch 2 nombra los pedidos callback. Le hago un pequeño hack al código de Torlief y quedo funcionando OK.

if(is_valid_callback(implode('',explode('.',$_GET['callback']))))


Lo que también es útil es agregar sencha al path, porque así, una vez trabajando en un app, desde el cmd uno puede generar controllers muy fácil:

sencha generate controller NombreDeUnControlador

Sigo con el tutorial, es fácil seguir instrucciones pero entender como para hacer lo que quiero está bien complicado, aún así llego hasta la parte donde se publica como web-app, con el siguiente comando:

command\sencha app build production

Esto creará una carpeta una carpeta build/production/ dentro de la carpeta del proyecto. Dentro de esa carpeta estará el proyecto “minificado”


Luego de un rato tenemos una ágil aplicación corriendo en la carpeta build.

Es esta misma compilación la que se debe usar para empaquetar el app para Android o iOS, en un principio yo empaquetaba el app completo, y claro, pesaba 40 megas pero desde la carpeta compilada es mucho más rápido también(me costó un par de semanas descubrir eso).

Hay que tener paciecia con sencha, a un par de días de trabajo, tutoriales y guías, sigo con gusto a poco, el manejo de datos que he logrado hacer ha sido casi hackenado el sistema, realmente no entiendo este framework pero ya he dado los primeros pasos.

Luego de una semana y unos 5 apps de demo, varios video-tutoriales y particularmente los videos de Rohit Ghatol: http://www.youtube.com/watch?v=5F7Gx0-W-M4 y http://www.youtube.com/watch?v=0pFOrasUlOU finalmente ya me siento más cómodo con el framework y puedo lograr cosas que no salen en los ejemplos.

Links útiles:

Compilar un app nativo

Desde la carpeta de un proyecto:

sencha package build build/production/packager.json
Empaquetado de un app nativo ya minificado por sencha app build

El Sencha Touch 2 SDK 2.0.0 tiene una serie de problemas, como que no es capaz de hacer un “app build” si hay local-storage con autoload.

Con el SDK 2.0.2 que bajé si resulta.

Published :

Last modified :

Comments

comments powered by Disqus