IDE para desenvolvimento Lua com Corona SDK

Não recomendo mais esta IDE. Ao invés dela, use o Corona Editor!

Antes de me tornar desenvolvedor (amador) de Lua com Corona SDK eu já desenvolvi em diversas outras linguagens, como Java, C#, VB.NET, C/C++ e por aí vai. Uma das coisas que prezo muitos nas linguagens que escolho para trabalhar (principalmente as que compõem a plataforma .NET) é a produtividade. As linguagens de programação são criadas para facilitar a vida do desenvolvedor e não para complicá-la, caso contrário todos programaríamos em Assembly, ou até mesmo em binário!!! Entretanto, mesmo a mais humana das linguagens de programação se torna extremamente complicada de utilizar, principalmente nos estágios iniciais, sem uma boa IDE, uma ferramenta de desenvolvimento com editor de código e geralmente função autocomplete, aquele famoso recurso da IDE lhe sugerir funções existentes na API conforme a palavra que você digitou (conhecido entre o pessoal do .NET como Intellisense). O post de hoje é curto mas tenho certeza que vai ajudar muita gente que está dando os primeiros passos com Lua + Corona SDK e até mesmo os desenvolvedores mais veteranos que buscam mais produtividade no desenvolvimento de seus games para iPhone, iPad e Android.

Primeiro Passo: Baixe e instale o interpretador Lua e o Corona SDK

Eu já escrevi um post sobre esse assunto, então não serei repetitivo. Leia-o antes de continuar.

IntelliJ

Segundo Passo: Baixe e instale o IntelliJ Community Edition

O IntelliJ é uma IDE semelhante ao Eclipse, permitindo aos desenvolvedores utilizarem-no para várias linguagens, sendo extensível assim como seu concorrente. Ele pode ser encontrado para download no site do fabricante, a JetBrains.

No site da JetBrains você terá duas opções de download, a paga e a gratuita. Sinceramente não sei as diferenças, mas a gratuita está me dando benefícios que meu editor de código Lua anterior, o Scite, nem sonhava em me proporcionar. Então, baixe a gratuita mesmo.

Depois de baixar, instale-o normalmente.

Pasta de Plugins do IntelliJ

Terceiro Passo: Baixe e configure o plugin do Lua

Como eu mencionei anteriormente, o IntelliJ é extensível através de plugins. Alguma alma caridosa desenvolveu um plugin para o intelliJ suportar o Lua. Este plugin pode ser baixado no site oficial do IntelliJ.

Este plugin não é um executável, é um zip que deve ser extraído. Copie a pasta IDLua para dentro da pasta de plugins do IntelliJ, localizada normalmente em C:\Arquivos de Programas\JetBrains\IntelliJ IDEA Community Edition xxx\plugins\.

Para configurar o plugin é simples: basta abrir o IntelliJ pelo menu Iniciar, ir no menu File, opção Settings e na esquerda vá em IDe Settings -> clique em Lua (irá aparecer somente se você colou a pasta no lugar certo). Na direita marque as duas opções.

Configurações do plugin do Lua

Quarto Passo: Configurando o IntelliJ para usar o Corona SDK

Os passos anteriores permitiram que você pudesse desenvolver em Lua no IntelliJ. Mas mais do que isso, queremos usar a ferramenta para aumentar a nossa produtividade no desenvolvimento de games para iOS e para o sistema móvel do Google. Ou seja, ainda temos de configurar o IntelliJ para suportar o Corona SDK! Através de ferramentas fornecidas pelo própria Ansca, fabricante do Corona, a mesma alma caridosa que desenvolveu o plugin (ainda bem que o mundo tem uma meia dúzia delas!) mapeou a Api do Corona e criou uma biblioteca para o IntelliJ suportar nosso SDK mobile favorito! O pseudônimo desta alma caridosa é sylvanaar2 e o link para download do mapeamento da API está no BitBucket (a interface desse site é uma porcaria, então clique em “Get Source”, na direita da página para fazer download no formato zip).

Uma vez que tenha baixado a API do Corona para o intelliJ, extraia o zip para uma pasta do seu computador que você saiba que não será apagada. uma boa idéia é copiar para dentro da pasta do IntelliJ, afinal, você sempre irá usar os dois juntos. Já, já vamos usar essa API dentro do IntelliJ, porém esta configuração deve ser feita para cada projeto (ou eu fui burro o suficiente para não descobrir outra forma).

Configurando o classpath da API

Último Passo: Criando seu primeiro projeto Corona no IntelliJ

Toda vez que você for criar um novo game/app para dispositivos móveis com o IntelliJ, basta criar um novo projeto (File -> New Project) no IntelliJ, selecionar o plugin do Lua e, depois que o projeto for criado, clique com o botão direito do mouse sobre o ícone da raiz do projeto e vá em “Open Module Settings” (pode atalhar apertando F4) para ir nas configurações do projeto. Vá em SDKs e clique na direita para adicionar um novo classpath ao seu projeto, bastando navegar pelas pastas do seu computador e marcar a pasta baixada no passo anterior, comumente com o nome “sylvanaar2-idlua-sdk-corona-alguma-coisa”. Cliquem em Apply e Ok.

Pronto, agora você está preparado para desenvolver seus jogos para as principais plataformas mobile do mercado com muito mais produtividade e capacidade de gerenciamento do projeto. Para os novatos, a tarefa de dominar o SDK se tornará muito simples também, graças ao recurso de auto-completar do IntelliJ. Outra dica quando se trabalha em grandes equipes é utilizar algum sistema de versionamento de código, como o Subversion por exemplo, mas isto fica para outro post 🙂

Comentem suas experiências com o IntelliJ, dicas de produtividade, quais ferramentas que vocês utilizam para programar em Lua, etc. Vamos trocar idéias!

* 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

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

Como desenvolver games e aplicativos para Windows Phone

Hoje venho trazer para vocês algumas informações a respeito de programação mobile. E não estou falando da hedionda programação para PalmOS que eu fazia nos idos de 2007, mas programação mobile de alto nível com frameworks de verdade.

Não, também não estou falando do badalado Android ou do cool iOS (nada como palavras-chave para ser bem indexado no Google!), estou falando do Windows Phone, o mais novo sistema operacional mobile da Microsoft. Após anos no ostracismo com o “razoável” Windows Mobile 6.1 (que aliás é o SO mobile que utilizava antigamente), a Microsoft decidiu chutar o pau-da-barraca assim como fez no Desktop com o Windows 8 e entrar de vez na briga mobile.

Neste post você vai ler:

Desenvolvimento Windows Phone para Absolutos Iniciantes

Bob Tabor, da Microsoft USA, criou uma série de video-aulas com este título aí em cima. Ele conta logo no vídeo introdutório (sim, é em inglês) que a idéia da série de vídeos é mostrar a programação para Windows Phone para desenvolvedores que nunca utilizaram C# ou Silverlight antes. Para quem não sabe, a partir do Visual Studio 2010 a Microsoft não oferece mais ferramentas de desenvolvimento para Windows Mobile 6, pois o Windows Phone 7 em diante utiliza Silverlight de forma nativa como plataforma de aplicativos. Não obstante, o excelente Visual Studio for Windows Phone inclui o fantástico framework para games XNA para que você desenvolva games para a plataforma também.

A idéia da série de vídeos (calma, já vou passar o link) possui uma estrutura dividida em 4 dias de estudo. Enquanto que nos 3 primeiros dias são passados conhecimentos formais de programação, tanto básica quanto focada na plataforma mobile (quem já programou para desktop verá que é muito barbada) no último dia ele ensina a desenvolver uma aplicação completa utilizando recursos de hardware e software do dispositivo, como seu GPS, a aplicação de bloco de notas, etc. Bob é muito bom instrutor e mesmo quem não entenda fluente a língua inglesa consegue compreender seus vídeos e sair repetindo os passos. Então voilá, o link para as videoaulas de Windows Phone 7 para completos iniciantes é este: http://channel9.msdn.com/Series/Windows-Phone-7-Development-for-Absolute-Beginners

Visual Studio 2010 for Windows Phone 7 Express

Para programar para seu mais novo objeto de desejo, é necessário a instalação de uma patch para o seu já conhecido Visual Studio 2010. O patch instalará no seu PC uma série de itens que são necessários para o desenvolvimento mobile com Windows Phone. De longe o mais útil deles é o emulador do dito-cujo, desta forma, sempre que queremos executar nosso código e ver como ele se comportará no Windows Phone de verdade usamos o emulador para isso, que é vinculado ao Ctrl + F5 do Visual Studio quando utilizado sobre um projeto de Windows Phone 7 Application.

Os projetos são outros itens importantes do patch e são divididos em XNA Games e Windows Phone 7 Applications, ou seja, você pode tanto matar aquele seu desejo de infância de criar seus próprios games quanto de criar suas aplicações mobile (cada um com sua infância perturbada, não é mesmo?).

Não vou colocar aqui um passo-a-passo de como fazer Next-Next-Finish deste patch, primeiro porque tenho mais o que fazer e segundo porque o próprio Bob Tabor (quem? o cara dos vídeos que citei antes) já fez isso no segundo vídeo se não me engano. Ainda assim vou dar uma colher de chá e colocar o link para download de tudo o que é necessário para sair programando mobile.

Segue o link com os downloads: http://create.msdn.com/en-us/home/getting_started, baixa tudo que tem neste link e depois instala na mesma ordem que não tem erro.

App Hub: A App Store da Microsoft

Então você viu os vídeos do Bob, instalou as ferramentas e criou algo mais ultra-revolucionário e “Angry Birdístico” que já existiu na face da Internet mas ninguém além de você sabe desse feito, o que fazer?

Não é somente o Google e a Apple que possuem um feirão online de aplicativos e games prontos para serem baixados/comprados, a Microsoft também tem o App Hub. Não sei a quantas anda o número de aplicativos disponíveis, já que sou um cidadão de terceiro mundo por fora das trending hypes dos aplicativos mobile, mas se você desenvolve para X-Box ou Windows Phone 7, é lá que seu aplicativo deve estar, com toda certeza.

Ok, R$180 pilas ao ano é algo meio salgado a menos que você tenha certeza que inventou o próximo Bubble Ball da vida e vá ficar milionário que nem o garotinho americano de 14 anos que está na Info desse mês. Mas caso você não tenha tanta certeza assim, eu sugiro colocar em um blog particular, receber algum feedback e só depois pagar essa grana toda. Bem que o Tio Bill podia ter subsidiado isso como mais uma prova de caridade aos países sub-desenvolvidos… Link do App Hub: http://create.msdn.com/en-US/

De qualquer forma, o App Hub está lá e espero que faça tanto sucesso quanto suas contra-partes de Mountain View e Cupertino. Pelo menos seria uma boa oportunidade para nós desenvolvedores C# filarmos uma fatia desse gordo mercado mobile que está em franca expansão.

App-a-Thon: Concurso de programação Windows Phone 7

Visando fomentar o desenvolvimento de aplicações mobile para Windows Phone, principalmente entre os gênios das grandes universidades estadunidenses, a Microsoft bolou uma espécie de concurso cultural (onde não precisa ter cultura para participar) onde ela premia as melhores criações de games para Windows Phone 7 com games para X-Box 360, dinheiro vivo e é claro, exposição como um case de sucesso. Para quem desdenha ser um case da Microsoft, os dois inventores do Solitaire, do Spades e do WordSearch para Windows Phone 7 já ganharam mais de 12 mil dólares com a venda de seus games no App Hub, e eles são estudantes de faculdade!

A maratona de aplicações da Microsoft é voltada aos estudantes, que inclusive não pagam para ter seus games inscritos no App Hub, afinal, todo universitário é quebrado mesmo. Basta que você use o mesmo login que utiliza no Dream Spark para se cadastrar na promoção e arregaçar as mangas. O link da App-a-Thon é: http://www.wpstudentapp.com/

Conclusões

O mercado de SmartPhones está aquecido, isso ninguém pode negar. Enquanto que plataformas consolidadas como o iPhone atraiam a maior parte do interesse dos desenvolvedores, o Android chegou e em pouquíssimo tempo já está tomando conta de muitos clientes Symbian.

Ok, o Symbian estava fadado ao fracasso já há algum tempo (era tão certo quanto a jurássica Palm), mas o crescimento vertiginoso do Android, graças ao apoio do gigante Google, alavancaram suas vendas o que em pouco tempo pode significar uma afronta ao mercado dos fanboys da Apple.

E pra complicar ainda mais a briga, a Microsoft entra no mercado com um dispositivo de peso. Não estou falando das fraquíssimas tentativas anteriores de emplacar um SO mobile que era uma recauchutação do finado Windows CE, mas sim de um SO criado do zero, assim como o bem-sucedido Windows 7. Me arrisco a dizer que dentro de pouco tempo teremos 3 plataformas brigando pelos clientes remanescentes da Symbian e outros SOs ultrapassados…

E você, vai ficar de fora dessa briga? Pára de ficar lendo notícias da morte do Bin Laden e vai programar!