Consejos útiles para empezar a desarrollar Android

Hoy en día, con un acceso tan fácil a la información, la web está llena de tutoriales donde la gente comparte sus conocimientos sobre diferentes temas. En el equipo de GoodBarber tenemos una pareja de expertos desarrolladores de apps en Android, por ese motivo, decidimos hacerles cuantas preguntas sobre el tema. Anteriormente, ya hemos hablado del desarrollo en iOS, pero hoy nos decantamos por Android con nuestros invitados especiales: Sergio y Guido !
1. ¿Cómo y por qué empezaste a desarrollar apps para Android?
Sérgio - Para mí fue diferente, al principio yo quería programar en iOS, pero más tarde, en la escuela, me empecé a interesar en los sistemas integrados. Y en ese mundo, aprendí que Android era un sistema operativo prometedor para sistemas embebidos, así que empecé a trabajar con éste y después tuve la oportunidad de trabajar aquí, en GoodBarber, por lo que... ese es mi comienzo.
2. En vuestra opinión, ¿qué es lo que se necesita para convertirse en un desarrollador de Android?
Por supuesto, se necesitan un par de cosas básicas, como el programa The Eclipse o Android Studio (IDE) y un buen libro coo soporte, incluso os podemos recomendar uno: Android 4 Application Development de Reto Meier, que es una muy buena referencia para comenzar y mejorar los conocimientos.
3. Existen diferentes lenguajes, ¿son específicos para cada propósito? Me enteré de que Android se basa en Java. ¿Hay alguna diferencia entre "classic Java" y "Android Java"?
Se puede decir que el desarrollo en Android se basa en Java, pero muchas de las bibliotecas de Java no son compatibles. Por ejemplo, para los datos de debugging, los programadores de Java utilizan la System.out. En Android se recomienda utilizar Log class para esto.
La virtual machine (que traducen el código de Java en instrucciones comprensibles para la máquina) también es diferente. El código Java se compila con Java bytecode, mientras que el código de Android se compila con Davilk opcode (o ART desde Android Kitkat).
4. ¿Cuáles son las principales diferencias entre la codificación de programas informáticos y la de aplicaciones móviles?
Por ejemplo, la pantalla del dispositivo es más pequeña y el procesador es más débil y tienen menos memoria, por lo que tienes que tener siempre en cuenta este tipo de limitaciones. El código tiene que estar optimizado para que tenga alto rendimiento (para una navegación fluida y una buena experiencia de usuario) y la memoria se tiene que gestionar con más cuidado para evitar futuros incidentes.
A pesar de que ahora tenemos todos estos dispositivos de gran alcance que tienen casi las mismas características que un ordenador, no podemos olvidar que todavía hay versiones anteriores de Android a tener en cuenta. Nuestro trabajo en la construcción de aplicaciones es la de ofrecer la mejor experiencia de usuario en todos los dispositivos.
5. ¿Podéis dar algún consejo a las personas que quieren adentrarse en el mundo del desarrollo Android?
Para alguien que está empezando en el mundo de la programación, la tentación de utilizar los esquemas ya creados es muy alta, ya que es donde se puede definir el diseño de la aplicación con código generado automáticamente. Creemos que la mejor manera es empezar a escribir en XML, para ser capaz de crear fácilmente interfaces más complejas por uno mismo.
Hoy en día, hay millones de aplicaciones disponibles en Google Play, por lo que hay una alta probabilidad de que ya exista una app muy parecida a la que se quiera hacer. Nosotros consideramos que la diferencia en las tiendas la da el diseño! Así que nuestro consejo es que mientras se desarrolla una app, el diseño no se olvide, ya que será crucial para crear una gran aplicación. Además, puedes acceder a tu Google Developer para encontrar información sobre el diseño de aplicaciones de Android.
Si quieres empezar a crear tu app con nuestra plataforma, estás a un clic:
Diseño


