Desarrollo Móvil con Javascript mediante Appcelelator Titanium

Últimamente estoy tocando bastante Javascript, ya sea para enriquecer aplicaciones webs, para trastear con node.js o para hacer pequeños juegos en canvas, parece que me empiezo a sentir cómodo con este lenguaje tan versátil.

Hace unos meses se me planteo la posibilidad de desarrollar una aplicación móvil para mejorar la comunicación y agilizar ciertas cuestiones en el trabajo, así que empece a investigar las diferentes alternativas que tenia, quería algo que se adaptara a los conocimientos que tenia en aquel momento, así es como descubrí Appcelelator Titanium.

Se trata de un Framework de trabajo por el estilo de conocido* PhoneGap, pero con algunas particularidades. La idea principal es ofrecer una capa de abstracción para no tener que aprender los diferentes lenguajes para crear aplicaciones nativas en cada plataforma. Teóricamente el rendimiento de las aplicaciones con Titanium son mejores que con PhoneGap, en su web anuncian Titanium como una herramienta para *crear aplicaciones nativas, aunque esto no es del todo cierto, como ya comente el lenguaje utilizado es Javascript, cuando generamos la App se podría decir que lo que obtenemos es algo precompilado, que luego al ejecutar la aplicación hace de puente aprovechando los controles nativos de cada sistema.

El aprovechar los controles nativos y la forma en la que esta enfocada la herramienta tiene diferentes ventajas, la más notable el buen rendimiento para cada plataforma, que podemos usar la gestión de eventos de javascript (entiendase onclick, etc.), que se adapta visualmente al estilo predefinido de cada sistema operativo (aunque esto puede ser una ventaja o desventaja según lo que estemos buscando), todo esto permite a cualquiera con conocimientos de Javascript crear aplicaciones móviles de forma cómoda.

Hay que tener en cuenta que en Titanium no se maqueta usando el DOM, aunque existe un control para crear WebViews no tiene mucho sentido usar Titanium para esto solo, dado que el resultado será muy similar en cuanto a rendimiento a PhoneGap. Titanium tiene su propio estilo de maquetación mediante el uso de variables:

var windowLogin = Ti.UI.createWindow({ layout:'vertical', backgroundColor: app.defaultBackgroundColor, }); var viewTitle = Ti.UI.createView({ backgroundImage: 'images/titlebg.png', backgroundRepeat: true, top: 0, width: 'auto', layout: 'vertical', height: 70 }); var textTitle = Ti.UI.createLabel({ textAlign: 'right', text: ' ' + app.title, color: '#000', font: { fontWeight: 'bold', fontSize: 30 }, verticalAlign: Ti.UI.TEXTVERTICALALIGNMENT_CENTER }); viewTitle.add(textTitle); windowLogin.add(viewTitle);

A primera vista parece algo tedioso de realizar, y es cierto, en algunos casos creo que se podría simplificar más, pero lo que importa es que con algo de practica es rápido y eficiente, si nos fijamos su sintaxis guarda cierto parecido con CSS.

Actualmente van por la versión 3 del framework y ha mejorado bastante desde su nacimiento hasta la actualidad, incluso su comunidad ha crecido notablemente, es bastante sencillo conseguir ayuda en caso de necesitarla. Pero puede darse el caso de que busquemos alguna función que la API no incorpore aun, la solución es fácil,* podemos extender la herramienta mediante módulos nativos* y así sortear este tipo de contratiempos.

Titanium viene acompañada de su propio IDE, se trata de Titanium Studio un IDE basado en Aptana y Eclipse preparado para facilitarnos la tarea de programar con la sintaxis y la API de Titanium.
De todo lo que titanium ofrece lo que menos me gusta es su consola para debugear, pero esto es ya cosa de gustos y habrá a quien si le guste.

Si eres programador Javascript y buscas realizar aplicaciones móviles de manera eficiente y rápida esta puede ser una buena opción para ti, y en caso de que realices alguna App o si ya has probado Titanium estaré encantado de leer tu experiencia en los comentarios.

Web: http://www.appcelerator.com/