35 horas con Android

¿Quién soy?
Mi nombre es Antonio M. Moreno Delgado y cursando 5º de Ingeniería Informática decidí hacer una parada en Ticteck con escusa de la asignatura Practicum. Aunque desde principios de carrera tuve especial fijación por el ámbito de la investigación en la universidad, me apetecía sentir el ambiente tan acogedor que se vive en una empresa como ésta. ¡Así que aquí estoy codo con codo con ellos programando aplicaciones!
<<Dime y lo olvido, enséñame y lo recuerdo, involúcrame y lo aprendo.>> (Franklin)


Empecé con...
Tras empezar desde cero con el desarrollo en Android y terminar la primera aplicación básica, voy a resumir la experiencia que he tenido. Como dato inicial, el contacto más cercano con el desarrollo de aplicaciones para móviles había sido un "Hola Mundo" en iOS. A decir verdad me esperaba un entorno mucho más hostil que el encontrado. El IDE ya conocido (Eclipse) y el lenguaje Java (más que utilizado en la carrera de Ingeniería Informática) hace que te sientas como en casa. Técnicamente, Android (al igual que iOS) usa la arquitectura Modelo-Vista-Controlador (MVC), aunque se debería llamar Modelo-Layout-Activity.



Una aplicación Android se compone de un conjunto de Activities (Java) que se muestran de acuerdo a un Layout (XML). Cada Activity es, generalmente, una "vista" que forma parte de la experiencia de usuario en la app (una pantalla).

Una interfaz gráfica, multitud de dispositivos.
Sin duda, uno de los desafíos al desarrollar una aplicación Android es como se adaptará la interfaz gráfica a la resolución donde se ejecute. Y es que al contrario de iOS, donde la plataforma donde será instalada tu aplicación es conocida a priori, en Android se pueden encontrar simultáneamente más de 45 dispositivos distintos (en venta) en el mercado (http://www.android.com/devices/). Aunque uno de los intentos por solucionar éste problema ha sido introducir la unidad "dp", yo he optado por realizar la interfaz gráfica programada desde el activity y usando como unidad el píxel. ¿Por qué? Por un lado las imágenes que proporcionan los diseñadores vienen todas especificadas en píxeles. Por otro lado, la interfaz gráfica programa recuerda mucho a las propias de Java (SWING por ejemplo).

Una clase Activity, interfaz y controlador.
La facilidad de crear código limpio y legible en el desarrollo Android brilla por su ausencia. Además, añadiendo la interfaz gráfica de forma programada, las clases Activity se hacen mucho más extensas con numerosos métodos.

Entorno de desarrollo - IDE.
El precio a pagar en Android por un IDE multiplataforma y gratuito es la inexistencia de una entorno que contenga todo lo necesario para crear una aplicación (un todo en uno). Ya sea Eclipse o Netbeans, es necesario instalar el SDK y las APIs por separado, así como configurar los diferentes dispositivos emuladores. El principal competidor XCode ofrece además de mayor estabilidad, un desarrollo muy intuitivo de la interfaz (“a golpe de click”) y del enlace de los controladores a los diferentes componentes.


Animo a todos los que no os decidíis a dar el paso al desarrollo de aplicaciones móviles en Android a hacerlo, ya que si estáis familiarizado con Java, en pocas horas estaréis obteniendo buenos resultados y os vendrá bien en el curriculum en estos tiempos que corren ;-)

No hay comentarios: