Cada día hay más y más desarrolladores que se suben al tren de Android, incluso muchos desarrolladores aficionados que en vista de la gran cantidad de documentación y lo avanzado de las herramientas de desarrollo consiguen excelentes resultados, aunque tener éxito en la difusión ya es otro cantar del que ya hablaremos.

¿Por dónde empiezo?

Hay que tener en cuenta nuestros conocimientos previos y la ambición de nuestros proyectos, es interesante saber que existen distintos caminos a seguir. Podemos optar por usar las herramientas facilitadas por Google que normalmente pasan por el uso del SDK de java y eclipse como plataforma de desarrollo. Pero si no tenemos formación en Java es posible utilizar otros lenguajes de programación.

HTML5, C++, Python, C#, Ruby, Scala… són algunos de los lenguajes con que actualmente se generan aplicaciones para Android. Podeis echar una ojeada a distintos proyectos que se ofrecen como plataformas de desarrollo para Android que enumero a continuación.

  • Unity 3D: Esta es una plataforma para desarrollar juegos con resultados increíbles y que incluye gran cantidad de herramientas. Permite desarrollar juegos para Flash Player, Android y iOS, pero para estos dos últimos necesitaremos plugins por valor de 400 $ cada uno. Los lenguajes de programación són diversos; C#, JavaScript y Boo. Y la comunidad de usuarios, documentación y ejemplos es muy extensa. Tiene el inconveniente que solo podemos usarlo sobre Windows o Mac.
  • PhoneGap: Destaca por la portabilidad de sus proyectos, ya que llegamos a Android, iPhone, Blackberry y Windows Phone entre otros. Es gratuita y estructura los proyectos en un encapsulado en el que diseñamos pequeñas webs que interacturan con el dispositivo mediante apis de Javascript. Resulta algo lento en comparación con las aplicaciones nativas, pero cumple a la perfección para proyectos de documentación o catàlogo. Por ejemplo la aplicación de Wikipedia utiliza esta tecnología.
  • Appcelerator Titanium: También es de uso gratuïto, y usa como lenguaje de programación Javascript. Ofrece solución para Android, iOS y para aplicaciones web para dispositivos mobiles.
  • Adobe Air: Podemos usar HTML, Javascript, ActionScript, o Flex para generar aplicaciones para Android, iOS y blackberry tablet. Tiene el inconveniente de que necesitaremos (al menos en android) que el usuario instale la aplicación Adobe Air que actua como interprete para que nuestra aplicación pueda correr.

Cada una de estas plataformas y muchas otras que existen tiene sus particularidades, y en muchos casos resultan interesantes para minimizar el esfuerzo al desarrollar aplicaciones que puedan correr en otras plataformas como en iOS, Windows Phone o sobre la web. Y aunque hay excepciones podemos generalizar diciendo que, en la mayoría de los casos, tendremos una perdida de rendimiento, y no siempre tendremos control total de todas las apis del sistema.

A lo largo de los artículos que iremos publicando para la sección de Desarrollo la mayoría de los ejemplos o tutoriales se centraran en el uso de las herramientas oficiales, que serán las que normalmente nos permitirán estar al día en nuevas utilidades, las que ofrecen más documentación y como no debemos acordarnos que es posible también programar en C++ desde esta alternativa.

Por el momento estoy instalando una maquina virtual de Ubuntu para poder disponer de un entorno de trabajo limpio sobre el que empezar con los ejemplos que quiero mostraros. Cuando lo tenga preparado veremos como poner a punto el entorno de desarrollo e instalaremos las herramientas necesarias.

Intentaré alternar ejemplos para iniciarse con otros para desarrolladores más experimentados, pero por ahora… empezamos por el principio.