Voltar

Dicas úteis para começar a programar em Android

na 

De acordo com Mobile Statistics, o número de dispositivos Android vendidos apenas nos primeiros 4 meses de 2013, atingiu a marca de 156 milhões e juntamente com este dado, sabemos que atualmente há mais de 1.3 milhões de apps disponíveis na loja online Google Play. (fonte: Statista )

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?

Guido - O meu amigo sugeriu um vídeo tutorial sobre programação e eu sempre gostei do tema, então comecei a criar a minha app bem simples. No início foi tudo por uma questão de curiosidade, mas eu continuei a aprender mais e realmente vi que eu gostava bastante! Eu devo ter assistido uns 50 vídeos sobre programação numa só noite e sem planear, tornei-me um programador.

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?

Precisas de gosto por programação e também algum conhecimento básico sobre as linguagens. Não é difícil começar a programar, principalmente se tens alguma noção de Java, porque é a linguagem principal.
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"?

Sim, há linguagens diferentes, a principal é Java, mas para criares um layout da tua app usas o XML e por vezes nós na GoodBarber usamos um pouco de Javascript e HTML.
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?

As principais diferenças são que, os recursos muito mais limitados do telefone, porque o ecrã é menor, o processador é mais fraco e tens menos memória, então tens de considerar todas estas questões. O teu código tem de estar otimizado ao máximo para uma performance de qualidade (navegação fluida e experiência de utlizador) e a memória deve ser gerida com mais cuidados para evitar falhas. Apesar de atualmente haver dispositivos com fortes características, que os aproxima à performance de um computador, não podemos esquecer que ainda existem versões Android antigas que devemos ter em conta. A nossa função quando construímos apps é oferecer a melhor experiência de utlizador possível para cada dispositivo.

5. Podem dar algum conselho às pessoas que queiram começar a aprender sobre programação Android?

Como foi dito inicialmente, eu penso que, se tiveres paixão por programar, algumas noções básicas de Java e um pouco de "geeekiness", que também é importante. Para as pessoas que estejam a começar a programar, podes te sentir tentado a usar a opção esquemática, onde podes definir o layout da app usando código gerado automaticamente, mas acredita em mim, a melhor forma é começares por escrever código em XML, porque depois podes criar interfaces complexos com muito mais facilidade.

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.