You are on page 1of 3

Entorno de desarrollo de Android

A continuacin se va a describir el entorno de desarrollo que Android pone a disposicin de los desarrolladores. Hay que destacar que una de las ventajas de este entorno es que se puede instalar en Windows, en Linux y en Mac O.S. X. Lo nico que necesitamos para desarrollar una aplicacin es el SDK (Software Development Kit) de Android. Un kit que incluye una serie de herramientas como son: el Traceview, herramienta que nos permite extraer estadsticas de rendimiento de la aplicacin; el LogCat, que nos presenta los mensajes que se imprimen desde el cdigo durante la ejecucin de una aplicacin; y herramientas para generar los instaladores de las aplicaciones que desarrollemos; entre otras herramientas de utilidad. Adems, el SDK incluye la API (Application Programming Interface) de Android, unas libreras que contienen todas las clases y operaciones que debemos utilizar para poder comunicarnos con el S.O. y de esta forma poder, por ejemplo, definir una actividad. En cuanto al IDE (Integrated Development Environment) o entorno que integra las herramientas necesarias para desarrollar aplicaciones, podemos utilizar cualquiera. Incluso podramos utilizar un editor de textos normal para programar la aplicacin y no utilizar un IDE. Aun as, se recomiendo encarecidamente el uso de Eclipse. Y es que existe un plugin oficial llamado ADT (Android Development Tools) que una vez instalado en Eclipse nos permite acceder a la API y a las diferentes herramientas que el SDK nos blinda directamente desde la interface de Eclipse, facilitando enormemente el desarrollo de las aplicaciones. Si utilizamos Eclipse, por tanto, podemos visualizar el LogCat, controlar el Traceview o generar el fichero .apk (el instalador) resultante de la aplicacin, desde la propia interface de Eclipse. Por ltimo, en cuanto al lenguaje de programacin, la API se encuentra en Java y el lenguaje recomendado para programar es este. Java es un lenguaje menos eficiente que C y sus variantes, por lo tanto no se suele utilizar para desarrollar videojuegos. Pero tambin tiene una gran ventaja y es que, como se ha comentado con anterioridad, es un lenguaje interpretado, lo que significa que se interpreta a travs de una mquina virtual en tiempo real.

El problema de la fragmentacin
Ya hemos comentado algunas de las ventajas que tiene desarrollar para un sistema operativo abierto como es Android. Pero realmente, el hecho de que sea abierto no genera solo ventajas, tambin conlleva una desventaja muy importante. El problema radica en que Android se va actualizando peridicamente, pero como este ecosistema se implementa en muchos otros dispositivos, la actualizacin de estos a la ltima versin del sistema, depende de los fabricantes.

La cadena es la siguiente. Cuando Google libera una versin nueva de Android, los fabricantes de cada dispositivo, tienen que adaptar sus drivers a esta versin y, si lo desean, desarrollar una interface visual para la nueva versin del ecosistema, cosa que suelen hacer. Seguidamente y antes de mandar la actualizacin a los terminales, si estos mviles no son libres, las actualizaciones pasan por manos de las operadoras de telefona mvil, las cuales se encargan de introducir una serie de aplicaciones que despus el usuario no podr borrar. Todo este proceso provoca que las actualizaciones lleguen a los terminales mviles muy tarde, a veces pasan muchos meses hasta su llegada. Pero el problema va ms all, porque la mayora de los terminales no tienen la suerte de actualizarse a la ltima versin. Como el mercado de telfonos mviles inteligentes evoluciona tan rpidamente, los fabricantes se olvidan muy fcilmente de los modelos ya puestos a la venta y muchos se quedan sin estas actualizaciones.

Esto provoca que, de cara al desarrollador, de aplicaciones se presente una fragmentacin entre versiones bastante compleja. En Android normalmente una aplicacin desarrollada para una versin va a ser compatible con todas las futuras versiones, pero no es as con las versiones ms antiguas. Y es que la API va evolucionando y va incluyendo nuevas operaciones que facilitan las cosas y que no estn soportadas en anteriores versiones de la misma.

De esta forma podemos evitar tener que compilar nuestra aplicacin para diferentes arquitecturas, pues con una sola compilacin, la aplicacin funcionar en todos los dispositivos sin problemas. Sin embargo, el uso de C sigue siendo imprescindible para desarrollar con xito algunas partes de un videojuego complejo, como la gestin de fsicas. As que a travs de un paquete llamado NDK (Native Development Kit) podemos utilizar funciones programadas en C, que se ejecutarn de forma nativa durante la ejecucin de la aplicacin. Claro est que, al ser C un lenguaje no interpretado, deberemos compilar este cdigo para cada una de las arquitecturas donde la aplicacin de Android vaya a ejecutarse. Para facilitar las cosas, Android nos permite introducir en el mismo instalador de la aplicacin varias compilaciones diferentes de las operaciones en C, por tal de que el mismo instalador funcione en varias arquitecturas al mismo tiempo. Ntese que cada nueva versin de Android que sale a la luz ampla el nmero de acciones que podemos llevar a cabo utilizando nicamente el lenguaje C. Se espera que en un futuro se puedan llegar a desarrollar aplicaciones nicamente haciendo uso de este lenguaje. Pero en este proyecto se ha trabajado con versiones del S.O. que no permiten realizar demasiadas acciones en C, as que se han desarrollado las aplicaciones haciendo uso nicamente del lenguaje Java. Aunque, para obtener la eficiencia que aporta una gestin de las fsicas del videojuego en lenguaje C, se ha utilizado una librera de fsicas desarrollada en este lenguaje. Eso s, dicha librera esta oculta por un mapeo entre sus operaciones y el lenguaje Java, con lo cual, aunque realmente haya una parte del videojuego funcionando en C, desde el punto de vista del desarrollador solo se ha trabajado en Java.

You might also like