Appcelerator Meetup @ Mobile World Congress 2012

Día: 28 de Febrero de 2012.
Lugar: Barcelona.
Precio: Gratis!!!

Sí, finalmente un encuentro de los desarolladores de Titanium Appcelerator en España y gratis. El plazo de inscripción está abierto desde el día 25 (ahorra está cerrado), hay 90 plazas disponibles y puedes obtener tu invitación aquí: http://appc-mwc.eventbrite.com/

Los ponentes

Por parte de Appcelerator hablarán Jeff Haynie (CEO) y Sandeep Johri (COO) with Kevin Whinnery (Dev Relations) participando en el networking que tendrá lugal al final del evento.

Los demás ponentes son: Dan Tamas, Javier Rayon, Angus Fox y Tony Calenducci.

Un vistazo al examen de certificación App Developer de Titanium- TCAD

Recientemente me Certifiqué como Desarrollador de Aplicaciones Titanium (Titanium Certified Application Developer – TCAD) y pensé en darles mi opinión acerca del examen a los que deseen tomarlo.

El examen cubre las áreas que existen en el proceso de desarrollo de una aplicación con Titanium Appcelerator:

  • Preguntas de código,
  • Contactos y APIs Sociales,
  • Desarrollo Multi-Platadorma en Titanium,
  • Contenido Web Integrado,
  • Media y Sistema de Archivos,
  • Uso de Servicios de Localización,
  • Trabajo con Datos Locales,
  • Trabajo con Datos Remotos,
  • Ahora que eres un Desarrollador de Aplicaciones Nativas,
  • Recap “Zero To App”,
  • Fundamentos de Interfaz de Usuarios
  • Entrega y Distribución

Para pasar este examen vas a necesitar por supuesto experiencia pero el equipo de Appcelerator ha colocado en linea en Wiki los laboratorios para cada parte del examen. Les sugiero que le den una buena leída, incluso aquellos puntos que quizás ya conozcas porque podrías encontrar cosas realmente útiles.

Algunos de los cursos tienen videos y enlaces a proyectos descargables.

Los proyectos son un buen punto de inicio para aprender cómo hacer las cosas “correctamente” y los mismos explican muy bien algunos principios para aplicar en una App de Appcelerator.

No dejes que la palabra “examen” te asuste porque realmente no es difícil – algunas preguntas son de sentido común.

A por el!

Siete días con Titanium – día 7 – orientación y acelerómetro

La mayoría de los dispositivos de hoy en día vienen con un acelerómetro que detecta la orientación del dispositivo o los movimientos que hace el usuario.

Titanium expone esta funcionalidad a través de sus APIs así que tomemos ventajas de eso 🙂

La orientación

El dispositivo puede reportar 7 estados de orientación, los cuales son definidos en Titanium a continuación:

  • Ti.UI.UNKNOWN – la app no puede detectar la posición
  • Ti.UI.PORTRAIT
  • Ti.UI.UPSIDE_PORTRAIT
  • Ti.UI.LANDSCAPE_LEFT
  • Ti.UI.LANDSCAPE_RIGHT
  • Ti.UI.FACE_DOWN – como reposando en una mesa con la pantalla hacia abajo
  • Ti.UI.FACE_UP – como reposando en una mesa con la pantalla hacia arriba

Aunque tenemos todas estas constantes definidas, hay situaciones en las que quizás no se encuentren disponibles: en iOs cuando el usuario bloquea la orientación, el dispositivo reportará dicha orientación sin importar cómo sea sostenido el dispositivo. En Android, muchos dispositivos pueden detectar sólo las orientaciones PORTRAIT y LANDSCAPE_LEFT.

Desde la versión 1.7.2 del SDK el API de orientación cambió y es establecido por ventana (o actividad). Puedes hacerlo utilimzando la propiedad orientationModes que acepta un arreglo con la orientación permitida para esa ventana. Mira este post en el Blog de Appcelerator.

win.orientationModes = [Ti.UI.PORTRAIT, Ti.UI.LANDSCAPE_RIGHT];

Existe también un evento que dispara los cambios de orientación permitiéndote hacer los cambios que puedas necesitar (adaptar la interfaz de usuario a la nueva orientación por ejemplo.)

Ti.Gesture.addEventListener('orientationchange',function(e) {
    alert(e.orientation);
});

La alerta mostrará un número entre 1 y 7 debido a que las constantes definidas arriba en este artículo son de tipo INT. Una buena práctica es comparar la orientación reportada por el evento con la constante y no directamente con el número. En caso de que algo cambie en el futuro, esto te asegurará que el código seguirá funcionando.

Puedes encontrar más acerca de esto en las páginas de documentación para Titanium.Gesture

El acelerómetro

El acelerómetro es una pieza de hardware que te dará la posición actual del dispositivo en coordenadas 3D (vector x, y, z). Esto te permite por ejemplo controlar los movimientos de un elemento en la pantalla.

Para obtener este vector, todo lo que tienes que hacer es capturar la actualización del evento Titanium.Accelerometer API. Esto retornará el vector del cual estamos hablando.

Ti.Accelerometer.addEventListener('update', function(e) {
    lbl.text = 'x: ' + e.x + 'y:' + e.y + 'z:' + e.z;
});

Nuevamente, es una buena práctica eliminar el evento cuando no lo necesitemos para ahorrar algunos ciclos de CPU.

Eso es todo para el día 7. Code strong y nos vemos en Mobile con Galicia el 9 de Diciembre.