Ha pasado un tiempo desde que implementé mi primer proyecto en Appcelerator, una herramienta muy útil para desarrollar aplicaciones nativas en Android y IOS. Desde entonces, he leído muchas publicaciones sobre el uso de esta herramienta, sus virtudes, defectos, buenas prácticas, malas practicas, el porqué, cómo, cuando... pero ha sido muy poco lo que he encontrado sobre experiencias de otros programadoresal momento de implementar un proyecto con Appcelerator. Este blog está dedicado a describir algunos consejos que en mi experiencia con esta herramienta considero muy importantes cuando decides utilizarla para desarrollar aplicaciones móviles.
Una vez hayas decidido utilizar *Appcelerator*, lo primero que debes hacer es documentarte, afortunadamente contamos con una muy buena documentación oficial, la cual se encuentra aquí http://docs.appcelerator.com/platform/latest/#!/guide/Quick_Start El API de Titanium tiene todo lo que necesitas saber sobre sus componentes, contiene ejemplos y guías de interacción con Alloy. Como último recurso, si el API no es suficiente, recuerda que Google es tu amigo y en sitios como Stackoverflow podrás encontrar respuestas a las inquietudes que tengas (https://stackoverflow.com/tags/appcelerator)
No es necesario ser un experto en Javascript para programar aplicaciones multiplataforma con Titanium, sin embargo, es muy importante seguir estándares de codificación, recuerda que es muy probable que otros programadores tengan que revisar e implementar componentes que hayas creado. Sigue este link para conocer los estándares de Javascript en Titanium.
Esto es algo muy importante, la plataforma no es gratuita, aunque te permite utilizar sus productos para el desarrollo de tus proyectos al momento de liberar una aplicación debes obtener una licencia. Pero esta empresa está comprometida con el desarrollo libre, es por esto que dan mantenimiento a los proyectos Titanium y Alloy, los cuales se encuentran en Github.
En http://gitt.io encontrarás una gran cantidad de módulos y Widgets aportados por la comunidad de desarrolladores, sin embargo no todos están bien documentados lo que dificulta su implementación y uso.
Cuando utilizas Titanium es inevitable el tener que hacer componentes personalizados como Listas de tarjetas, popups, selectores, etc. Trata de hacer componentes exportables utilizando el modelo MVC.
- El diseño de vistas para Android es muy distinto al de IOS, crea carpetas para cada plataforma y así separar los diferentes tipos de vistas. Utiliza las sentencias *if (OS_ANDROID)* y *if (OS_IOS)* para separar el código que se debe ejecutar en cada plataforma. - Iniciar proyectos sólo para una plataforma y luego pasarlo a la otra. Es un error, perderás mucho más tiempo si lo haces de esa manera
Me gusta utilizar Sublime Text 3 para programar aplicaciones en Titanium, ya que cuenta con muy buenos plugins que ayudan a escribir el código y hacer Debug del proyecto, además es mucho más rápido que Appcelerator Studio y si lo complementas con el CLI de Appcelerator podrás ahorrar mucho tiempo. TIP: La herramienta **LiveView** está disponible con la opción *--liveview* del comando *appc run*. Sirve para actualizar los cambios del código en tiempo de ejecución, sin necesidad de volver a compilar el proyecto.