Saltar para o conteúdo principal

Palestra sobre desenvolvimento em Android na ESTG

Praticamente uma semana após a realização da palestra, consegui finalmente arranjar tempo para escrever um pequeno resumo sobre o evento e partilhar como correu.

Apesar de um ligeiro atraso no início, causado por problemas técnicos, a sessão arrancou comigo a apresentar as várias versões do Android, as suas inovações, e a dar algumas dicas sobre como trabalhar com o Git.

As partes de que mais gostei foram as intervenções sobre desenvolvimento com OpenGL e ROM development. Foram temas que me ensinaram muito — coisas que não se aprendem na escola — e que despertaram em mim um verdadeiro interesse pela personalização de ROMs. Isso levou-me, inclusive, a querer aprofundar ainda mais os meus conhecimentos de programação.

androidPT

Game Dev

A parte sobre desenvolvimento de jogos foi reveladora. Fiquei a conhecer melhor ferramentas como motores gráficos e o NDK (Native Development Kit). Fez-me perceber que o pequeno projeto que tinha feito no RPG Maker VX para a PAT era apenas um primeiro passo — ainda há muito para aprender nesta área.

Uma das principais lições foi perceber que nem sempre as ideias mais complexas resultam nos melhores jogos. É possível criar experiências envolventes com conceitos simples.

Aprendi também o que está por trás do desenvolvimento de um motor de jogo: desde leis da física, otimização de código, até à previsão de colisões dos objetos no jogo. Em termos visuais, criar um jogo pode ser surpreendentemente simples, bastando definir:

  • O mundo do jogo
  • O objeto controlado pelo jogador
  • As zonas de impacto
  • Um fundo visual

Depois, constrói-se o guião — ou seja, define-se o que acontece no jogo: quests, níveis, personagens, etc. A maior dificuldade está em juntar todos estes elementos de forma coesa e funcional.

ROM Development

Sem dúvida, o tema que mais me fascinou. Já há algum tempo que tinha curiosidade em perceber como se cria uma ROM personalizada, mas sempre achei que era algo reservado a quem domina C ou outras linguagens complexas.

A verdade é que existem hoje muitas ferramentas que simplificam este processo. No entanto, é importante conhecer alguns conceitos como boot.img, root, init.rc, kernel, entre outros, e entender as suas funções.

Uma das abordagens mais simples é pegar numa ROM existente e modificá-la: remover ou adicionar APKs na pasta /system, criar temas personalizados, alterar o clock do CPU, mudar o ecrã de arranque, etc. Depois, é só compilar novamente a ROM.

Parece simples, certo? Em teoria, sim. Na prática, é preciso ter cuidado — alterar definições críticas pode tornar o dispositivo inutilizável.

Outra abordagem é desenvolver uma ROM a partir do código-fonte (from the source). Aqui, os desafios são maiores: é preciso ter conhecimentos mais avançados de programação, trabalhar com o kernel, drivers e lidar com inúmeros bugs logo à partida. Mas o importante é não desanimar.

Theme Development

Provavelmente o tema mais acessível apresentado na palestra. Nunca pensei que modificar temas no Android fosse tão fácil. Foi interessante ver as ferramentas usadas e o processo envolvido.

APN Portugal

Houve ainda uma breve demonstração da aplicação, focada na perspetiva do utilizador final. Foram também discutidos aspetos importantes, como a identificação da rede à qual o dispositivo está ligado.