El jueves pasado celebramos en la ofi un pequeño workshop sobre nuestra api. Nuestra idea inicial era hacer una pequeña introducción y plantear un par de ejercicios previamente preperados por nosotros para que los asistentes picaran algo de código. Por desgracia, tampoco teníamos demasiado tiempo y al final decidimos exponer los ejercicios y comentar el código que nosotros habíamos escrito.
Personalmente, mi principal objetivo era dejar muy claro que es muy fácil de usar más allá de lo pone en la documentación y que se pueden hacer más cosas a parte de integraciones de búsqueda de sitios y servicios.
Como hacía tiempo que quería probar Shoes decidí hacer una pequeña aplicación que se conectaba con la cuenta de un usuario en 11870.com, se descargaba los últimos servicios que se habían guardado sus contactos y permitía que ese usuario se los guardara y los comentara. Para el que no conozca Shoes decir que es un pequeño framework para escribir pequeñas aplicaciones de escritorio multiplataforma de una forma sencilla. Mientras desarrollaba la aplicación ya me quedó claro que lo de "forma sencilla" ya no era cierto, ya que además de tener una documentación pésima (su autor, aunque es un desarrollador muy brillante, se dedica a hacer pdfs llenos de dibujitos sin sentido y no explicar como usar sus frameworks), el feedback que te da el framework es inexistente, no muestra excepciones si las hay y creo que tiene una consola de log pero no he encontrado como usarla ni como verla. Como punto final, cuando más o menos tenía la aplicación terminada decidí probarla en mi powerbook, la había desarrollado en mi sobremesa con ubuntu, y por supuesto el resultado fue el esperado después de dos días peleandome con el framework, la aplicación no llegó a arrancar.
Como tenía una cuenta de github sin estrenar he subido el código fuente ahí por si alguien quiere echarle un vistazo, si usas git simplemente ejecuta este comando:
git clone git://github.com/calavera/oos-with-shoes.git
si no, puedes ver el código en el proyecto que he abierto.
