martes, 23 de abril de 2013

Desarrollo de Aplicaciones para dispositivos Móviles Bajo plataforma Android


Podemos considerar a Android como una victoria del software libre sobre la tecnología móvil, a pesar de la amplia gama de sistemas operativos móviles existentes Android es una propuesta realmente interesante y poderosa en la que el usuario es parte integral del proceso evolutivo y los desarrolladores son los q impulsan con sus productos software un avance más en esta plataforma; mientras más productos software se presenten más completo será su uso y utilidad; Android es considerada una plataforma móvil libre, basada en el kernel de Linux; en realidad se trata de un fork, proyecto independiente de software.

Las ventajas que se presentan al usar dispositivos móviles es que son una nueva etapa en el desarrollo de las computadoras personales y la integración con sistemas de comunicación globales, los dispositivos móviles son la promesa de interconexión global planteada muchos años antes y en la actual guerra de dispositivos móviles se centran las apuestas hacia las plataformas de paga como son Apple, Microsoft, etc. y las libres; entre estas propuestas esta Android.

Ya se tiene un respaldo grande con Google y empresas como Samsung, Sony, HTC, Lenovo, Motorola, Huawei, etc. que ponen su confianza e inversiones en una plataforma libre, evolutiva y por sobre todo para los usuarios; Android no solo tiene mucho peso por Google o por las empresas q la utilizan sino por los usuarios que se han apropiado de todo el concepto de Android y del software libre e inclusivo.

En cuanto al desarrollo de aplicaciones Android, pues se tiene muchas opciones desde el SDK que ofrece el mismo Android en su sitio oficial http://www.android.com/ ;hasta opciones con HTML5, SVG y CSS3 o JQuery Mobile (http://jquerymobile.com/) y por q no también aplicaciones nativas escritas en C++ con el NDK del mismo Android, también existen otras posibilidades de desarrollo, que está en proyectos como son Phonegap (http://phonegap.com/) o el proyecto Cordova (http://cordova.apache.org/) o el AppInventor (http://appinventor.mit.edu/) por nombrar algunos, es amplia la cantidad de entornos de desarrollo que se tiene para dispositivos móviles y el éxito solo depende de la comunidad de usuarios que se animan por una u otra opción ya que cada una presenta ventajas e información que dependen de la expansión que le dan los desarrolladores.

En http://developer.android.com/sdk/index.html se presenta una kit para desarrolladores oficial, por decirlo así; al ser una plataforma libre las soluciones son muy amplias y dependen de la persona que las investiga y utilizan, con el ADT bundle para Windows se tiene las herramientas necesarias para un desarrollador Android, este SDK provee el API de librerías y herramientas necesarias para empezar directamente a desarrollar en un entorno Eclipse; se necesita también descargar el Kit de desarrollo Java JDK.

Las herramientas de desarrollo Android (ADT) nos permiten desarrollar, compilar, empaquetar y usar los desarrollos que se hagan en esta plataforma, después de descargar el Bundle se lo descomprime y se tiene el IDE Eclipse que es básicamente el entorno de desarrollo integrado en el que se trabaja, ya configurado para utilizar el SDK esta herramienta tiene las siguientes características:

El Android Proyect Wizard que nos genera los archivos necesarios requeridos por un proyecto Android y le dan la funcionalidad necesaria; el Editor de Recursos que nos permite diseñar una interfaz de usuario para dispositivos móviles, orientado a esas características y ese tipo de interacciones, el Manager Android que básicamente hace las llamadas al SDK y a los dispositivos virtuales Android; la perspectiva DDMS que monitorea y depura las aplicaciones aparte de la integración con las utilidades como logCat y la vista de capas de herencia, todo esto además de herramientas de firma de código y optimación de la ofuscación con Proguard.


Tenemos dentro del Bundle otra herramienta que se integra con Eclipse que es el SDK Manager con este podemos actualizar la versión en la cual queremos desarrollar y también tenemos que probar dispositivos virtuales que creamos con determinadas características y que emulan a dispositivos reales. Aparte de todo esto el SDK tiene toda la plataforma lista para usar, la documentación, ejemplos y también las APIs de Google por defecto ya se descarga dentro del Bundle los paquetes necesarios pero las actualizaciones aparecen constantemente ya que como antes se mencionó esta es una plataforma evolutiva y tanto como el hardware el software cambia velozmente pero eso no impide que los desarrollos y la curva de aprendizaje sean cortos.

Otra cosa importante es la característica ADVs (Dispositivos Virtuales Android) Administrador que es el que gestiona la creación y uso de dispositivos virtuales, hay una amplia gama de productos que usan Android que son tablets y smartphones los cuales son de diferentes marcas, tamaños, calidades, etc. Con este Administrador se pueden probar los desarrollos que hagamos en dispositivos específicos así ver su comportamiento en teléfonos o tabletas emuladas nos permite una ampliar nuestras opciones de como decidir el público de usuarios al cual estamos orientados, es amplía la gama de productos que sale al mercado y un desarrollador debe de estar al tanto de las características que tendrán los futuros dispositivos he ir probando ciertas características en dispositivos virtuales es lo mejor.