Aprovechando que estos últimos meses tengo un poco más de tiempo libre, decidí explorar y sacar mis propias conclusiones sobre el desarrollo de apps, es decir entrar de lleno en el mundo de las aplicaciones para dispositivos móviles. A pesar de tener experiencia con Java, elegí la plataforma de iOS. Eso me empujó a aprender no solamente el lenguaje Objective-C y las herramientas de desarrollo, sino también a ver de cerca la filosofía de Apple en el desarrollo de aplicaciones.

Los comienzos fueron un poco duros porque Objective-C y el framework CocoaTouch tienen sus peculiaridades. Es otro mundo. Pero me ayudó mucho la documentación de Apple, que es realmente muy amplia y completa. Xcode, el entorno de desarrollo, es bastante distinto a lo que yo conocía y debo admitir que no decepciona en absoluto y realmente es un entorno integral; todo se hace desde allí: desde el desarrollo y depuración, hasta el despliegue y publicación en el AppStore.

Como ocurre con todas las plataformas, en iOS existen frameworks especializados que se integran según las características de la cada aplicación. Me sosprendió mucho la calidad de la documentación disponible y la rapidez con la que puede se puede poner en marcha algo simple y luego ir agragándole más complejidad.

Una de las aplicaciones que desarrollé fue mi propia versión del juego Tic-Tac-Toe (3 en línea). El objetivo era programar algo simple para explorar el lenguaje y los frameworks. Más adelante, me propuse investigar las capacidades del móvil y usar la cámara, los servicios de GPS y la persistencia de datos. Y así surgió UrbanBits, que permite tomar fotos geolocalizadas y ponerles un comentario.

El siguiente paso que quise dar era explorar las alternativas para integrar una aplicación del móvil con un servicio externo. Y así inventé Noot, una aplicación para tomar notas geolocalizadas y compartirlas con otros usuarios a través de un servicio desplegado en la plataforma Google App Engine. De Noot surgió la necesidad de crear mi propio framework que para automatizar la generación del código que permite el intercambio de datos entre la aplicación del móvil y el servidor remoto. En otro post comentaré la idea de abrir el código fuente del framework y compartirlo libremente.

Para cerrar el círculo decidí distribuir las 3 apps a través del AppStore! El proceso para hacerlo es muy simple y está automatizado en su mayor parte. Las aplicaciones fueron aprobadas en unos pocos días y se pueden descargar e instalar gratuitamente desde cualquier iPhone.

Mi objetivo inicial era aprender algo nuevo y ver cómo funciona esta plataforma para los desarrolladores de aplicaciones. Lo he logrado y estoy sumamente satisfecho. Ha sido una experiencia sumamente interesante e inspiradora!