Como programar para iPhone, iPad e Android de barbada!

Todo mundo sabe que aplicações mobile estão bombando. Em outro post citei tudo o que era necessário saber para programar para o Windows Phone 7, certo? Desta vez, mato 3 coelhos com uma cajadada só, ensinando como programar para iPhone, iPad e Android. Enquanto que no post sobre WP7 eu não coloquei código, neste ensinarei a fazer nem que seja o Hello World tradicional. A motivação toda para este post foi uma matéria na Info do mês passado onde apareceu um case de um garoto prodígio de 14 anos que desenvolveu um game para iPhone que já teve mais de 6 milhões de downloads, o que fez com que ele tivesse de abrir uma empresa para dar conta do recado.

É, a vida é dura.

Lua

Lua

Primeiro de tudo, esqueça Java. As promessas de portabilidade entre dispositivos mobile se perde em meio a problemas de desempenho e às próprias restrições da Apple. Ok, você tranquilamente pode usar o Java para rodar apps no Android, mas se quiser algo mais eclético terá de usar Lua. Para quem não sabe, Lua é uma linguagem de script criada na PUC do Rio de Janeiro. Isso mesmo, ela é brazuka e segundo o ranking da Tiobe, é a linguagem que mais cresce no mercado, principalmente com a ascensão dos portáteis como os tablets e smartphones. Enquanto que o tradicional Apple-C, digo Objective-C, é extremamente ruim para programar e o Java muito pesado, temos no Lua o meio-termo ideal, uma linguagem de script poderosa com sintaxe semelhante à Javascript. No fundo tudo é C, mas de uma forma muito mais simples de trabalhar, independente de SO (isso mesmo, roda em janelas, pinguins e maçãs).

Acesse agora mesmo o site Lua.org, baixe o SDK para seu sistema favorito e comece hoje mesmo a programar a melhor linguagem de script para criar games para iCoisas e Android. Junto no SDK vem um editor de código chamado Scite. Ele é bem bonzinho, embora faça uma falta danada ter um Visual Studio pra isso, hehehehe.

Corona

Corona SDK

Sabe o piá de 14 anos que citei que fez o game milionário?

Pois é, o jogo é o BubbleBreaker e ele utilizou um tal de Corona SDK para desenvolver o game em apenas um mês. Sendo que antes disso ele nem sabia programar!

O Corona SDK é um kit de desenvolvimento para plataformas mobile, essencialmente iOS e Android. Ele promete coisas como interoperabilidade (code once, run everywhere…onde foi que eu já ouvi isso?), produtividade e outros jabás que os SDKs nos vendem. Testei o dito-cujo e pude notar que ele possui uma documentação muito boa, com descrição de tudo o que é possível fazer na API, incluindo coisas específicas para iPhone ou Android, por exemplo, dependendo do hardware é claro. Ele inclui também um emulador que no Windows emula somente Android (incluindo Nexus One, Milestone e Galaxy) e no Mac emula iOS (incluindo iPhone e iPad), ou seja, você desenvolve a aplicação usando Lua e com alguma sorte, roda em qualquer iCoisa e Android sem muitas adaptações.

Pois é, esse Corona SDK é do caramba e totalmente free. Isso mesmo, ele é gratuito para fins não comerciais. Para quem não sabe, a única forma de colocar uma app pra rodar dentro do teu iCoisa é pelas famosas lojinhas virtuais que existem, como Google Play ou App Store. Caso queira comercializar seu app (porque ninguém é de ferro) você deve pagar taxas específicas de acordo com a(s) plataforma(s) da sua aplicação. O Corona é tão bacana que no site deles tem várias aplicações de exemplo para baixar, incluindo alguns jogos. Você consegue olhar os fontes, realizar alterações e criar suas próprias versões!

Vá no site do fabricante, a Corona Labs e baixe o SDK, só usando para acreditar. Lembre-se: o piá tem apenas 14 anos.

Hello World

Então você baixou o Lua e o Corona SDK e não sabe por onde começar. Na verdade existem vários tutoriais e a própria documentação do Corona SDK abrange os primeiros passos, porém é tudo em inglês. Então, eis que o desocupado aqui fez alguns tutoriais e resolveu escrever o seu em inglês. Nada rebuscado, apenas um Hello World meio estiloso para mostrar algumas coisas.

Criar um projeto em Lua é simples: basta criar uma pasta com o nome do projeto. Dentro desta pasta, estarão todos os arquivos do projeto, incluindo imagens, sons, etc. Mas o mais importante deles é o arquivo main.lua (crie com o bloco de notas e renomeie para .lua ou então crie pelo Scite). Este arquivo é interpretado pelo Corona SDK para rodar sua aplicação e é nele onde ficam seus scripts. Neste primeiro momento, apenas copie e cole o trecho de código abaixo e abra o Corona Simulator (ele é instalado junto do Corona SDK). Vá em File -> Open e escolha o main.lua que acabou de criar (jogue uma imagem com o nome de teste.jpg na pasta do projeto).

Você irá ver a imagem teste.jpg no fundo da aplicação e os dizeres Hello World meio deitados e esticados verticalmente. O código está bem comentado, então não há muito o que dizer a respeito. A primeira linha carrega a imagem no plano de fundo, considerando que você possui uma imagem com o nome de teste.jpg. A função newText do objeto display recebe alguns parâmetros como o texto a ser exibido, a distância em pixels em relação ao topo, a distância em relação à margem esquerda, a fonte que será utilizada no texto e por último o tamanho da fonte. A instrução abaixo, setTextColor, faz exatamente o que você imagina: troca a cor do objeto myText usando o padrão RGB (Red Green Blue) onde 255-0-0 representa o vermelho puro. Os dois últimos comandos são alterações na aparência do texto, como uma multiplicação na altura (yScale) e uma rotação em graus (rotation). E isto é tudo!

Conclusões

Espero que tenha sido de alguma utilidade. Embora o exemplo seja simplório, já dá pra ter uma idéia de onde iniciar seus estudos. Na verdade o maior trunfo deste post é dar um norte ao pessoal que quer entrar no mercado de mobile apps e não sabe como. Então ficam aí as dicas: Lua e Corona SDK. Uma hora dessas se eu criar um game bacana eu volto aqui a fazer um jabá. E nunca esqueça: o piá tem apenas 14 anos.

Quer ler mais tutoriais de Corona SDK? Dê uma olhada nesta categoria!

* OBS: curtiu o post? Então dá uma olhada no meu livro de Corona SDK clicando no banner abaixo pra aprender a criar outros tantos apps incríveis!

Livro Corona SDK
Livro Corona SDK
O que achou desse artigo?
[Total: 3 Média: 4.7]

Publicado por

Luiz Duarte

Pós-graduado em computação, professor, empreendedor, autor, Agile Coach e programador nas horas vagas.