Dicas úteis para começar a programar em Android

Hoje em dia temos amplo acesso à informação, a web está recheada de tutoriais onde as pessoas partilham o seu conhecimento sobre os mais diversos assuntos. Visto que temos uma equipa de programadores de aplicações a trabalhar diariamente com programação, decidimos fazer algumas questões a dois dos nossos especialistas em Programação Android. Já tínhamos falado anteriormente no âmbito iOS, mas hoje é a vez do Android! Recebam os nosso convidados especiais: Sérgio e Guido !
1. Como e porquê vocês começaram a programar apps para Android?
Sérgio - No meu caso foi diferente, porque inicialmente eu queria programar para iOS, mas depois na escola estava muito interessado por sistemas embedded, e nesse mundo, ouvimos que Android era um sistema operativo muito promissor para os sistemas embedded, então eu comecei a trabalhar com ele e logo de seguida surgiu a oportunidade de trabalhar aqui na GoodBarber, então para mim foi assim que tudo começou.
2. Na vossa opinião, o que é necessário para ser um Programador Android?
Claro que também necessitas de algumas coisas básicas, como por exemplo um computador, o Eclipse ou Android Studio (IDE) e um bom livro ajuda bastante! Eu posso até recomendar um: Android 4 Application Development, por Reto Meier, é uma referência muito boa para começares e até para quem já tem alguns conhecimentos aperfeiçoá-los.
3. Há linguagens diferentes, elas são específicas para cada propósito? Eu ouvi dizer que Android é baseado em Java, há diferenças entre o clássico Android e "Android-Java"?
Pode-se dizer que programação Android é baseada em Java, mas muitas das bibliotecas que não são suportadas, ou têm substitutos melhores (outras bibliotecas semelhantes) ou simplesmente não são necessárias. Por exemplo, para imprimir dados para uma depuração, os programadores Java usam o System.out. Para Android é recomendado usar uma classe Log nesse caso.
A máquina virtual (que traduz o código java em instruções compreendidas pela máquina) também é diferente. Códigos Java, compila em Java bytecode, enquanto que código Android compila em Davik (ou ART desde o Android Kitkat) opcode.
4. Quais as principais diferenças entre programar para software de computadores e para apps móveis?
5. Podem dar algum conselho às pessoas que queiram começar a aprender sobre programação Android?
E também, como foi dito no início, há milhões de apps disponíveis na Google Play neste momento, então a probabilidade de haver alguém que já criou uma app semelhante à tua é muito grande. Nesse caso o que fará a diferença é o design! Então o meu último conselho é: programa com orientação para o design, porque será crucial para criares uma app que se destaque. Para este assunto, aconselho acederes à página Google Developer para obteres mais informações interessantes acerca do design de apps Android.
Design

