Android

16 jan, 2014

Desenvolvendo para Android: algumas dicas importantes

Publicidade

Há pouco tempo fui capa da comunidade Android no Reddit. No artigo lá publicado detalhei o meu processo de aprendizagem para o desenvolvimento de minha primeira app. Foram quatro meses de trabalho para colocar no ar a The Talker App, uma app para você fazer seu telefone falar contigo. É uma app complicado de desenvolver, pois precisa usar diversos recursos da API do Android. Por isso, durante o processo, mantive uma lista das principais fontes que me ajudaram dentre as várias espalhadas pela Internet. É uma tentativa de ajudar outras pessoas que também queiram desenvolver sua app.

Aqui, além de adaptar o guia para o português, gostaria de abordar o tema de forma mais técnica. Começarei pelo básico mas, se houver interesse, pretendo expandir o tema em outros artigos. Afinal, não há tanta informação em português como há em inglês. Espero que gostem.

Inglês, quão bem devo conhecer?

Um assunto não tratado no guia original diz respeito ao idioma no qual a maioria das aplicações é desenvolvida e para qual a maior parte da documentação está disponível. Queira ou não, o inglês é a língua para o desenvolvimento de software em geral. Não só para Android, mas para qualquer tipo de desenvolvimento saber pelo menos ler em inglês é essencial.

Android em Inglês

Por mais que guias como este possam te ajudar, informações detalhadas sobre novidades serão inevitavelmente produzidas primeiro em inglês. O Stackoverflow, o principal site para você poder tirar dúvidas técnicas, está disponível apenas nesta língua. Então imagine o seguinte cenário: o Google acabe de lançar uma nova API para Android. A documentação é esparsa e apenas em inglês. A medida em que os desenvolvedores começam a migrar suas aplicações para a nova API, dúvidas que a documentação ainda não cobrem começam a surgir. Estes desenvolvedores então procuram por sites que possam ajudá-los. Como a documentação e os nomes de métodos estão em inglês é nesta língua que eles irão procurar primeiro. E se não encontrarem o que precisam, é nesta língua que escreverão sobre seus problemas. É um ciclo vicioso (ou virtuoso dependendo de quem olha) que extrapola o universo do desenvolvimento de software. Quase 55% dos sites mais visitados no mundo estão em inglês [1].

Então não adianta evitar a língua. Ao contrário, é preciso abraçá-la o mais breve possível. Se você tem dificuldades nesta área, minha sugestão é o excelente site Duolingo. Ele é gratuito e propõe um método eficiente de aprendizagem. Outra sugestão é mudar a sua maneira de navegar pela Internet. Ao invés de buscar textos em português sobre os temas que te interessam, busque-os em inglês. Comece a trazer a língua para o seu dia-a-dia e se habitue a ela. Só assim ela deixará de ser um problema para ser uma ferramenta a seu favor. Certamente contará bastante pontos em qualquer carreira que queira seguir na área de informática.

Os primeiros passos para sua primeira app

Com o inglês na ponta da língua, eis os principais pontos que você precisar ter em mente:

  • Se você não sabe nada sobre Android, a primeira coisa a fazer é baixar a SDK (Software Development Kit) do Android;
  • Se você realmente não sabe nada sobre programação, principalmente programação orientada a objetos, você precisa primeiro aprender a programar em Java;
  • Em seguida, comece com este ótimo vídeo tutorial. O link é o primeiro de uma série de vídeos excelentes que cobre vários aspectos da base do desenvolvimento para Android. Minha sugestão é que você siga o tutorial escrevendo o código que o autor propõe passo-a-passo;
  • O melhor livro, na minha opinião, é o The Busy Coder’s Guide to Android Development. Se você não quer ou não pode comprar o livro, considere pelo menos os exemplos gratuitos de código-fonte que o autor disponibiliza;
  • Android Guides fornece ainda mais exemplos de código para as tarefas mais comuns numa app Android. É uma lista valiosa de receitas de bolo muito bem explicadas;
  • Aprenda a procurar por informações antes de fazer perguntas. Praticamente todos os problemas que você tiver no começo já foram resolvidos e documentados por alguém. Você só precisa saber achar;
  • Aprenda a encontrar erros no seu código (debug). Se você vai usar o editor Eclipse (recomendado pelo Google), dê uma olhada neste link;
  • Uma vez dominando o básico, foque parte do seu tempo em conceitos chave do Android: mudanças de configuração, serviços, uso de threads e broadcast receivers, uso da biblioteca de suporte e a implementação da interface Parcelable;
  • Seus amigos podem te ajudar bastante com feedback. Mas seja gentil e não os perturbe;
  • E por último, a não ser que sua aplicação seja algo extraordinário, não perca tempo divulgando-a antes de estar pronta. Existem vários sites e “pre-apps” por aí e ninguém se importa.

Aprendendo

Além dos recursos acima, existem duas apps disponíveis na Google Play Store que também podem te ajudar bastante a entender melhor o que pode ser feito com uma app:

  • Tasker é uma excelente app para “programar” tarefas. Com ela você pode definir condições para que algo seja executado. Por exemplo, mostrar uma mensagem quando você chacoalha o telefone. A app não vai te ensinar a desenvolver para Android, mas vai te mostrar os recursos disponíveis no sistema operacional que uma app pode utilizar. Sempre que eu precisava fazer algo específico na minha app, eu sabia que podia ser feito porque era possível fazer com o Tasker;
  • DevAppsDirect é uma app mais simples, mas com um propósito valioso. Ela é basicamente um catálogo de bibliotecas que você pode utilizar na sua app. Ao navegar pelas bibliotecas ali disponíveis você pode saber o que já existe feito e que pode ser reutilizado na sua app. Salva um bocado de tempo.

Próximos passos

Há um bocado mais para falar, mas antes de continuar gostaria de ouvir sua opinião. Se você está começando a desenvolver para Android, o que você gostaria de saber mais a respeito? Teria interesse em artigos mais detalhados e com exemplos de código? Eu adoraria continuar a abordar este tema se houver interesse.

Espero que pelo menos os links acima possam te ajudar a começar.

Obrigado!