Aos desenvolvedores de aplicativos para iPhone OS: aprendendo OpenGL ES para design de jogos e aplicativos ricos em mídia

Com base em boas experiências que tive nos últimos meses, uma das coisas que notei em uma parte dos aplicativos brasileiros foi uma certa deficiência na experiência proporcionada aos usuários, já que muitas vezes eles não oferecem um bom design ou não sabem tirar vantagem de pequenos recursos que o próprio iPhone OS oferece para torná-los um pouco mais agradáveis de se usar. Não estou generalizando: acompanhei de perto a concepção de vários projetos com design invejável — alguns que a maioria de vocês nem sequer viu ainda —, mas, em alguns casos, a experiência de usuário fica bem pobre, algo que influencia (e muito) no momento da escolha do cliente na App Store, principalmente quando se trata de um jogo.

OpenGL ES

Verdade seja dita: dos desktops com monitores de 30 polegadas aos smartphones, é difícil produzir interfaces de usuário originais, bem animadas, com nível gráfico de boa qualidade e, ao mesmo tempo, intuitivas. Quando um desenvolvedor alcança isso, o seu aplicativo se torna realmente fácil de usar, mas para chegar até esse nível leva um bom tempo, envolvendo tecnologias que são bem difíceis de trabalhar devido à enorme quantidade de aspectos técnicos envolvidos. O Core Animation no iPhone OS veio para ajudar a resolver essa complicação; todavia, para casos mais complexos, o que realmente tornará sua solução ainda mais flexível aos padrões e fácil de usar nos gadgets da Apple é o OpenGL ES.

Padrão aberto para gráficos 3D em dispositivos móveis, OpenGL ES é uma excelente interface de programação montada na arquitetura do iPhone OS, mas ainda assim requer um certo tempo de aprendizado por ser tão avançada quanto sua irmã no desktop. Antes de você gerar código funcional para seu aplicativo, desenvolver uma interface com um bom design requer um bom gerenciamento dos recursos do aparelho, além de muitos testes para manter a sua boa performance e solucionar bugs e vazamentos de memória — que são ainda piores quando o hardware não é lá essas coisas.

Por causa disso, muitas ideias nem chegam a sair do papel por precisarem de uma interface mais bem trabalhada, especialmente jogos. Nesses casos, é importante que o usuário sinta a experiência de uso do seu aplicativo desde a inicialização a partir da tela inicial do seu iPhone/iPod touch, dando uma visão agradável do que ele está para usar/jogar antes mesmo de o menu principal aparecer. Geralmente, quando você começa a pensar nisso é fácil se perder, o que faz o projeto ser descontinuado antes mesmo de começar a ser executado.

Como OpenGL ES não é algo que se aprende em qualquer curso de informática — ainda mais no Brasil —, é difícil encontrar quem consiga trabalhar nessa área e produzir algo capaz de ir além dos controles padrão do iPhone OS e algumas imagens de fundo. Visando a conhecer um pouco disso, venho acompanhando desde abril uma série de artigos muito interessante sobre OpenGL ES do zero, que ensina como simplificar tarefas complexas trabalhando em 3D no iPhone OS, além de vários fundamentos essenciais para quem está aprendendo a desenvolver aplicativos na plataforma móvel da Apple.

Os textos foram escritos por Jeff Lamarche, co-autor do livro Beginning iPhone Development, que possui esse blog dedicado a falar de desenvolvimento para iPhone OS há um bom tempo. Obviamente, não posso reproduzir o que ele escreveu, mas posso indicar os artigos da série para você aprender um pouco sobre a tecnologia desde o início e buscar mais recursos para se tornar um profissional por conta nessa área. Abaixo está a lista do conteúdo escrito por Lamarche:

  1. Conceitos básicos, onde você aprenderá o mais simples sobre os DataTypes suportados, pontos e vértices;
  2. Dicas sobre geração de elementos, para você compreender quais elementos podem ser renderizados por um iPhone/iPod touch;
  3. Uso de Perspectiva, o que envolve aspectos de desenho técnico e geometria para usar a API de forma mais eficiente;
  4. Uso de iluminação em cenas, o que deve ser feito com moderação para não comprometer o desempenho do aplicativo
  5. Uso de materiais, para você fazer de um objeto 2D qualquer uma composição em 3D com iluminação e perspectiva.

Isso não é tudo o necessário para você criar uma experiência de usuário bombástica usando OpenGL ES; porém, saiba que isso pode te dar um bom começo para criar algo incrível usando essa tecnologia. A documentação do site de desenvolvedores da Apple e a página do Khronos Group são outros dois ótimos lugares onde você pode buscar mais recursos de aprendizado gratuitamente. É interessante que os envolvidos em desenvolvimento de aplicativos busquem um pouco mais sobre OpenGL ES nesses locais, quando tiverem tempo.

Boa sorte! 😉

Posts relacionados

Comentários