Criando Aplicações Móveis com Corona-Sample

Transcrição

Criando Aplicações Móveis com Corona-Sample
Criando Aplicações Móveis com Corona
Brian G. Burton, Ed.D.
Traduzido por Luiz F. Duarte Jr., BSc.
Criando Aplicações Móveis com Corona
Por Brian G. Burton, Ed.D.
Tradução por Luiz F. Duarte Jr., BSc.
Copyright © 2012 Brian G. Burton, Ed.D. Todos os direitos reservados.
Impresso em Abilene, Texas, Estados Unidos da América
Publicado por Burtons Media Group.
Edições eletrônicas estão disponíveis. Visite http://www.BurtonsMediaGroup.com/books para maiores informações.
Corona® SDK é uma marca registrada de Corona Labs®. Corona Labs, o Logo Corona Labs, coronalabs.com são marcas registradas da Corona Labs.
Imagens da capa foram geradas usando Corona Simulator e representam aplicações feitas neste livro para Droid®, Galaxy Tab®, iPad®, e iPhone® (da esquerda para direita).
Nomes de marcas registradas e imagens podem aparecer neste livro. Ao invés de usar o símbolo © a cada ocorrência da mesma, utilizamos o nome somente em uma representação comercial e para bene`ício do dono da marca registrada, sem nenhuma intenção de infringir qualquer marca registrada.
Enquanto precauções tenham sido tomadas na preparação deste livro, o publicante e autor não assume responsabilidade por erros ou omissões, ou por danos resultantes do uso da informação contida no mesmo.
TODO SOFTWARE É FORNECIDO “COMO ESTÁ”, SEM GARANTIA DE NENHUM TIPO, EXPRESSA OU IMPLICADA, INCLUINDO MAS NÃO LIMITADO ÀS GARANTIAS DE MERCABILIDADE, ADEQUAÇÃO PARA UM PROPÓSITO PARTICULAR E NÃO INFRINGIMENTO. EM NENHUM EVENTO DEVEM OS AUTORES OU DETENTORES DE COPYRIGHTS SEREM RESPONSABILIZADOS POR QUAISQUER QUEIXAS, DANOS OU OUTRAS RESPONSABILIDADES, QUER EM UMA AÇÃO DE CONTRATO, DANO OU CASOCONTRÁRIO, PARTINDO DE, FORA DE OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.
ISBN (eTextbook): 978-­‐1-­‐937336-­‐12-­‐7| 1-­‐93733-­‐612-­‐3
Versão 1.011
Índice Rápido
Sobre o Autor
Sobre o Tradutor
Introdução por Carlos Icaza
Prefácio
1) Olá Mundo: Instalando e Indo em Frente!
2) Botões e Texto
3) Animação, Alfa & Orientação
4) Preenchendo os Campos
5) Todo tipo de Grá`icos
6) Interface do Usuário 7) Visões de Aplicação
8) Diversão com Física
9) Criando um Jogo com Corona
10) Continuando o Star Explorer
11) Mídia Faz o Mundo Girar
12) Armazenamento de Arquivos & SQLite
13) Esperando nas Tabelas
14) Seus Conhecidos: Networking 15) Trabalhando com Widgets & Popups
16) Rotten Apple – um Jogo de Defender a Torre 17) Recursos Adicionais
Apêndice A: A Linguagem Lua
Apêndice B: Lua Avançado
Índice Completo
Sobre o Autor
Sobre o Tradutor (About the Translator)
Dedicatória:
Prefácio
Introdução
Bem vindo
Para quem este livro foi feito
Como este livro está organizado
Convenções usadas neste livro
Usando os exemplos de código
Porque não usei ______ para ______
Apêndices
Como entrar em Contato
Porque Escolhi Auto-­‐Publicar
Capítulo 1
Olá Mundo: Instalando e Indo em Frente!
O que este livro não é
Iniciando
Corona: Alguma História
Software: Corona
Software: Android
Exemplos e Imagens
Software: iOS
Hardware para Desenvolver: Corona
Hardware para Desenvolver: Dispositivos de Teste
Android
iOS
Considerações de Publicação
Android (Google)
iOS (Apple)
Programando no Corona: Lua
Programando no Corona: Editores
ConWigurando Corona
Macintosh
Windows
Programando no Corona: Olá Mundo (V1.0)
Projeto 1.0: Olá Mundo
Conligurações do Projeto
Sobre o Autor
Brian Gene Burton, Ed.D. é um professor, autor, e desenvolvedor de jogos. Ele criou graduações de jogos em duas universidades e gosta de pesquisar e brincar com ambientes virtuais. Brian apresenta e publica internacionalmente suas pesquisas e gosta de compartilhar o que ele aprendeu sobre desenvolvimento de jogos e mobilidade. Quando não está viajando ou ensinando, ele pode ser encontrado em sua casa nas Montanhas Ozark no Missouri com sua bela esposa há mais de 25 anos, Rosemary.
Sobre o Tradutor (About the Translator)
Luiz Fernando Duarte Júnior é analista de sistemas, consultor e empreendedor de Porto Alegre-­‐RS, Brasil. Bacharel em Ciência da Computação, ele cursa (na época em que este livro foi lançado) Pós-­‐
Graduação em Computação Móvel e é a`iccionado por desenvolvimento para smartphones desde 2006. De lá para cá, já desenvolveu para as plataformas JME, PalmOS, Blackberry, Android e iOS, tendo ministrado dezenas de palestras e cursos em faculdades e escolas técnicas de seu estado. Ele adora compartilhar seu conhecimento e um pouco de seu trabalho pode ser conhecido no seu blog pessoal LuizTools.com
Dedicatória:
Eu dedico este livro à minha amada esposa cujo suporte e encorajamento manteram-­‐me focado e escrevendo. Um agradecimento especial aos meus estudantes e à comunidade Corona pelo seu suporte e requisições por detalhes especí`icos que ajudaram bastante no desenvolvimento deste livro.
Os loops sonoros e musicais foram graciosamente fornecidos por Shaun Reed da Constant Seas. Você pode checar sua banda em http://www.constantseas.com
Grá`icos Tileset do Reiner’s Tilesets (http://www.reinerstilesets.de) foram usados com permissão.
Todas outras imagens (a menos que especi`icado) e capa foram desenhados por Brandon Burton.
Ajuda na edição e formatação provida por Brianna Burton (http://
www.LiteraryDiaries.com )
Um agradecimento à Luiz Fernando Duarte Júnior, webmaster do blog http://luiztools.com, por esta versão em português do livro.
Prefácio
A pouco tempo, no início de 2008, Walter e eu decidimos ir para o negócio de desenvolvimento de aplicações. Criaríamos uma série de aplicações mobile para vender via app store e víamos a Apple com seu inédito iPhone como o futuro dos smartphones e distribuição de aplicativos. Decidimos construir aplicações simples no início e depois avançamos para as complexas. Embora tenhamos “mergulhado” nele, o iPhone estava em um estado inquieto e nós não estávamos certos se ele iria deslanchar. Sendo um produto Apple, nós sabíamos que ele estava sendo vendido e criando certo alarde, mas era cedo demais para dizer. Nokia, por outro lado, tinha uma grande parte do mercado de smartphones mas seu desenvolvimento de aplicações e distribuição das mesmas era sofrível.
Sabíamos que para termos sucesso ao escrever nossas próprias aplicações precisaríamos cobrir mais de uma plataforma. Por um lado, nós sabíamos que o iPhone estava destinado a ser o vencedor e por outro lado a Nokia tinha freado bruscamente seu avanço com seu Series60. Nos focamos e iniciamos o desenvolvimento de um framework que nos permitiria cobrir mais de uma plataforma móvel e rapidamente produzir aplicações. Buscamos muitas diferentes opções, linguagens de script, e algumas tecnologias que nos permitiriam criar nosso próprio framework.
De nossas próprias experiências, sabíamos que era essencial, e depois de analisarmos as opções que tínhamos, de`inimos a utilização de Lua e iniciamos o desenvolvimento do framework que se chama hoje Corona.
Internamente, nós chamamos este framework emergente de “Ratatouille”, o nome foi proposto porque ele nos leva de volta aos dias de programação com limitações de memória, pequenos espaços de disco e pequenas telas. Depois de um rascunho inicial, começamos a construir alguns protótipos e todo tipo de coisas que conseguíamos desenvolver e isso era, naquela época um momento glorioso. Honestamente achávamos que estávamos um pouco à frente de nosso tempo e não estávamos ainda certos se ele iria funcionar – típica mentalidade de engenheiros. Trabalhamos duro e após semanas tudo que podíamos mostrar era um retângulo sendo desenhado na tela. Mas o momento ‘aha’ chegou quando o mesmo código permitiu que a aplicação funcionasse em um Series60 e um iPhone. Foi quando eliminamos todas as dúvidas e começamos a adicionar requisitos ao Ratatouille aqui e ali.
Em dado ponto, tínhamos seis protótipos e todos funcionavam ridiculamente, era fácil prototipar aplicações com a versão pré-­‐alfa do Ratatouille.
Eventualmente nós tiramos o suporte à Nokia e incluímos suporte ao Android, e decidimos ir atrás de investidores de risco e ver se podíamos transformar isto em um negócio, uma vez que vimos grande interesse de nossos amigos e amigos de nossos amigos no produto.
No melhor estilo do Vale do Silício, Corona nasceu de uma idéia em nossas garagens visando solucionar nossas necessidades. Sabíamos que podíamos criar uma ferramenta que permitiria a milhares de desenvolvedores preencherem seu espírito empreendedor e iniciar negócios usando Corona. Hoje, mais de 35.000.000 de pessoas brincam com jogos e aplicações feitas com Corona. Estes jogos/apps estão sendo escritos por desenvolvedores de 14 anos, times de jogadores dedicados, agências de publicidade e estúdios. E a melhor parte é que não há previsão desse volume diminuir.
Mas Corona não é um sucesso apenas pelas suas aplicações. Ele também toma tempo, dedicação e aprendizado de indivíduos comprometidos como Dr. Burton, que criou alguns tutoriais de como utilizar Corona. E tendo seu próprio espírito empreendedor, ele gastou um tempo valioso em sua ocupada agenda para escrever um livro sobre Corona.
Este livro é uma excelente maneira de conhecer nosso Corona SDK e servirá como um guia de como aprender a construir aplicações Corona. Eu sei que você aproveitará este livro tanto quanto gostará de construir aplicaçõs com Corona.
Carlos M. Icaza
Co-­‐fundador, Ansca Mobile, Inc.
Introdução
Bem vindo
Bem vindo ao Criando Aplicações Móveis com Corona. Este livro é o resultado de anos de desenvolvimento para dispositivos móveis. No início de 2010 comecei a buscar uma maneira de desenvolver melhor. A melhor maneira. Buscava uma ferramenta que me permitisse desenvolver mais rapidamente para múltiplas plataformas de dispositivos móveis. Estava cansado e frustrado por ter de reescrever as mesmas aplicações para iPhone, iPad ou Android. Depois de tentar diversas ferramentas e ambientes de desenvolvimento, eu encontrei o Corona SDK da Corona Labs (http://
www.coronalabs.com). Enquanto ele ainda estava no início do desenvolvimento, ele mostrava que o time da Corona Labs estava comprometido a construir um conjunto de ferramentas de qualidade e que uma comunidade devotada de desenvolvedores estava rapidamente se formando em volta deste grande SDK (Kit de Desenvolvimento de Software). Nos dias iniciais de meu aprendizado sobre Corona, eu me foquei em criar tutoriais (disponíveis no meu website http://www.BurtonsMediaGroup.com/blog). Depois de ensinar Corona a várias turmas de desenvolvimento móvel e com o encorajamento de meus estudantes, eu iniciei o processo de criação do livro que poderia ser usado como um recurso de ensino para o Corona SDK. Espero que você goste de aprender sobre Corona assim como eu! Atenciosamente,
Brian G. Burton, Ed.D.
Para quem este livro foi feito
Enquanto meu foco e ímpeto de escrever este livro era que ele fosse usado como um “livro de consulta”, eu também escrevi acreditando que muitas (esperançosamente) pessoas estariam interessadas em aprender mais sobre Corona SDK e desenvolver para múltiplas plataformas ao mesmo tempo. Eu tinha a expectativa de que qualquer um que usasse este livro já tivesse conhecimentos básicos em programação. Não gastei muito tempo nos fundamentos de programação. Existem muitos bons livros de programação e recomendo que você inicie neles e retorne ao desenvolvimento de aplicações quando já tiver dominado o básico. Como este livro está organizado
Enquanto escrevia este livro, eu mantive os tradicionais semestres de 16 semanas, assumindo um capítulo por semana. Uma vez que isto não funciona para todo mundo, ele deve ser o bastante para a maioria das pessoas que estão iniciando com desenvolvimento móvel usando Corona SDK. Meu primeiro rascunho terminou com mais de 20 capítulos. Depois de reorganizar o conteúdo e continuando seu desenvolvimento, nós estávamos agora com 16 capítulos e um capítulo adicional de grandes recursos e um par de apêndices que foram graciosamente supridos pela Corona Labs sobre a linguagem de script Lua.
Convenções usadas neste livro
Através deste livro usaremos Courier New para denotar código que deve ser digitado exatamente igual. Quando encontrar exemplos que estão com Courier New, Italics você deverá digitar seus próprios valores.
Usando os exemplos de código
Este livro foi escrito para ajudar você a desenvolver aplicações e jogos com Corona SDK. Em geral, você pode usar o código neste livro em seus programas e documentação. Você não precisa nos contatar para pedir permissão para reproduzir uma porção signi`icante de código. Você não precisa pedir permissão para escrever uma aplicação que use uma grande quantidade de código. Agora, por outro lado, se eu ver aplicações que exatamente reproduzem os exemplos deste livro ou tutorial, eu não `icarei feliz. Eu não tenho problemas com pessoas que usem estes exemplos como um ponto inicial, mas vá além disso; seja original! Responder questões citando este livro ou parafrasear trechos não exigem permissão (mas eu apreciaria uma citacão). Eu reservo todos os direitos de venda ou distribuição dos exemplos em qualquer formato fornecido neste livro. Se você não está certo se seu uso cai fora das regras que determinei acima, sinta-­‐se livre para contatar-­‐me através de: [email protected] Porque não usei ______ para ______
Existem muitos bons produtos disponíveis que podem ajudar os camaradas programadores a tornar seu trabalho muito mais produtivo (veja o capítulo 17 para uma lista curta). Como este livro é direcionado aos estudantes universitários e pessoas que iniciaram recentemente, eu tentei não usar ferramentas externas. Se alguma ferramenta fosse necessária para que algum projeto fosse concluído, eu tentaria utilizar somente as gratuitas ou de baixo custo. Se eu não usei as suas favoritas, eu posso 1) não saber da existência da mesma; 2) não consegui obter uma licença de testes do produto; ou 3) não gosto da ferramenta (provavelmente a primeira ou segunda opção). Se você conhece uma grande ferramenta que pode economizar muito tempo e dinheiro aos desenvolvedores, por favor compartilhe-­‐a com o mundo no local de discussão no site deste livro: http://
www.BurtonsMediaGroup.com/books.
Apêndices
Apêndices A e B contendo informações sobre a linguagem de programação Lua foram fornecidos pela Corona Labs e estão incluídos com permissão. Enquanto efetuamos algumas edições no conteúdo para melhorar a legibilidade, o conteúdo original e os exemplos ainda permanecem.
Como entrar em Contato
Por favor enderece seus comentários ou questionamentos para o site do livro: http://
www.BurtonsMediaGroup.com/books ou email [email protected]. Suporte em português pode ser obtido com o tradutor, Luiz Fernando, no e-­‐mail [email protected]
Porque Escolhi Auto-­‐Publicar
A decisão de auto-­‐publicar este livro foi alcançada depois de muita consideração. Enquanto que existem numerosas editoras interessadas (tanto acadêmicas quanto técnicas), eu decidi publicar ao menos a primeira edição sem o uso de editoras tradicionais. Existem muitas razões pelas quais eu tomei esta decisão, mesmo embora ela me leve a menos vendas. Primeiro estão minhas preocupações com o preço `inal do livro. Eu `ico doente de ver livros impressos custando U$75 ou mesmo mais de U$100. Eu sinto que este preço é errado e colocam uma barreira anti-­‐estudantes. Enquanto editoras diminuíram ligeiramente o preço com o advento de eBooks e eTextbooks, esta queda não foi o bastante em minha opinião. Minha segunda preocupação foi o quão rapidamente os ambientes de desenvolvimento mudam. Pessoalmente odeio ter de compar um novo livro a cada nova versão de software. Eu tenho pilhas de livros que estão completamente sem uso agora. Eu decidi publicar esta primeira vez como um eBook, que permite-­‐me atualizar e fornecer ao leitor, mais rapidamente. Eu fornecerei as atualizações menores entre as edições do eBook para todos que adquirirem o eBook através do meu website.
Como está sendo dito, se você recebeu uma cópia deste eBook através de torrent ou de um amigo, por favor adquira sua própria cópia através de meu website. Isto lhe fornecerá acesso à versão mais recente do eBook e irá enconrajar-­‐me a continuar com as atualizações. Ainda que eu esteja fazendo isto para ajudar meus estudantes, eu tenho contas para pagar.
Por outro lado, ao auto-­‐publicar meu livro eu NÃO tenho um time de pessoas para veri`icar tudo neste livro. Eu estou certo de que alguns erros de digitação foram colocados por gremlins durante a noite. Sei que eu tenho dislexia. Eu contrataria uma pessoa para veri`icar a versão `inal do livro, mas tendo lido muitos livros que foram publicados por grandes companhias e encontrado erros em seus livros, eu estou certo de que erros existem neste também. Por favor, deixe-­‐me sabendo de todos os erros que encontrar. Uma errata pode ser encontrada no site do livro: http://www.burtonsmediagroup.com/books
Capítulo 1
Olá Mundo: Instalando e Indo em Frente!
Você teve uma grande idéia de jogo ou aplicação móvel. Maravilha! Agora, como você cria o mesmo e distribui-­‐o para iPhone/Droid/iPad/Nook, (ou qualquer dispositivo que você escolha)? Existem muitos dispositivos para escolher. Qual plataforma é a melhor para minha aplicação? Com tantas plataformas para escolher (Android, iOS, RIM, Windows, nomeando algumas poucas), a escolha da plataforma para desenvolver pode ser muito di`ícil. Cada plataforma usa uma linguagem diferente, tem uma API diferente (Interface de Programação de Aplicações) e requisitos. Devemos nos prender a uma plataforma de desenvolvimento? Devemos escolher somente uma?
Felizmente com o advento de ferramentas como Corona da Corona Labs, agora é possível desenvolver para múltiplas plataformas ao mesmo tempo. Porque escrever uma vez e publicar para dispositivos diferentes é a melhor solução no mundo de desenvolvimento móvel. Corona da Corona Labs permite que os camaradas desenvolvedores publiquem para dispositivos Android e iOS (Apple), tanto smartphones quanto tablets. Este livro foi escrito para ajudar estudantes de todo lugar a obterem as habilidades necessárias para transformarem sua idéia em uma aplicação usando Corona SDK.
O que este livro não é
Enquanto que este livro é designado para ensinar o básico de desenvolvimento de aplicações móveis, ele não é designado para ensinar fundamentos de programação. Estou presumindo que você já sabe o básico de programação de computadores. Se você não sabe como usar um bloco if/else, um loop ou uma função, você provavelmente não está preparado para este livro. Enquanto eu `iz todas as tentativas de cobrir o básico que a maioria dos estudantes querem aprender durante o primeiro semestre de um curso de desenvolvimento móvel, devido a problemas com tempo e espaço, somente os mais importantes puderam ser incluídos. Existe um segundo volume em desenvolvimento que cobrirá aspectos mais avançados e um volume voltado exclusivamente a projetos de jogos com Corona.
Iniciando
Corona: Alguma História
Corona Labs foi criada em 2008 como uma companhia `inanciada por investidores de risco em Palo Alto, Califórnia. Antes de Corona, o time da Corona Labs foi responsável por criar muitas ferramentas padrões da indústria que tenho certeza de que você conhece. No tempo que eu estive desenvolvendo aplicações com Corona, eu encontrei na Corona Labs um dos negócios mais amigáveis e úteis que eu tive o prazer de trabalhar. Além disso, a comunidade é muito amigável e solícita. Se você decidir juntar-­‐se à comunidade Corona, esteja certo de continuar com este grande espírito de solidariedade!
SoWware: Corona Não é surpresa de que você precisará do Corona SDK para começar. Para aprender, eu recomendo baixar a versão trial (de teste) no site da Corona Labs http://
www.coronalabs.com/. Clique no botão de download e registre-­‐se (independente se é um usuário pagante ou gratuito). Se você for um estudante ou universitário, você pode obter um desconto acessando http://developer.coronalabs.com/forms/educators-­‐and-­‐students.
SoWware: Android
Para começar o desenvolvimento de aplicações para Android com Corona, você não precisará de nenhum software adicional Android. Entretanto, você precisará do Java SDK (tipicamente conhecido como JDK) para estar apto a compilar em ambiente Microsoft Windows. Vá em http://www.oracle.com/technetwork/java/javase/downloads/
index.html e baixe a Java Platform Standard Edition clicando no botão “Download JDK”. Aviso: Você somente precisa baixar o download do JDK se você está em um sistema Microsoft Windows. Se você está usando um Macintosh com OS X, ele já está instalado.
Exemplos e Imagens
Um último download deve ser feito: os exemplos de códigos, imagens e outras ferramentas que você pode precisar com os projetos estão listadas neste livro. Eles estão todos disponíveis em http://www.BurtonsMediaGroup.com/books. SoWware: iOS
Para desenvolvimento direto no simulador, você não tem que baixar nada da Apple. Entretanto, quando for hora de testar em um dispositivo ou preparar a aplicação para o iTunes, você necessitará do Apple iOS SDK. Se você já é um desenvolvedor Apple, você já está apto a realizar a instalação. Se você não é um desenvolvedor Apple atualmente (U$99/
ano para uma assinatura padrão de desenvolvedor), você pode se registrar como desenvolvedor gratuito e baixar o Xcode através da Apple App Store por U$4.99).
Hardware para Desenvolver: Corona
Corona não demanda muito do seu computador para desenvolvimento. Enquanto você estiver usando ao menos um OSX 10.6 ou superior em um Mac, ou Windows XP com CPU de 1GHz em um PC, você estará bem.
Se você está planejando desenvolver aplicações para iPhone, iPod Touch e/ou iPad, você precisará de um Mac. Este é um requisito da Apple. Para manter todo mundo de bom humor, Corona somente publicará para um dispositivo iOS se você estiver usando um Mac. Você também pode criar aplicações Android utilizando um Mac.
Se você tem somente um sistema Windows, você pode desenvolver e publicar aplicações Android. Você também está apto a desenvolver para dispositivos iOS, entretanto não poderá publicar e vender seu trabalho para iOS fora de um Mac. Eu uso um MacBook e um PC, regularmente variando entre ambos durante o desenvolvimento de aplicações.
Matriz de Hardware Necessário:
Hardware
Android OS
Desenvolver
Instalar
Macintosh
X
X
Windows PC
X
X
Apple iOS
Desenvolver
Instalar
X
X
X
Hardware para Desenvolver: DisposiYvos de Teste
Se você pretende desenvolver e vender aplicações para dispositivos móveis você deve ter um dispositivo móvel para testar suas criações. Eu estive em projetos onde era necessário ter um hardware que eu não tinha. Usar somente o simulador cobrirá 75% do que pode aconteçar com sua aplicação, mas não lhe permitirá presenciar todos os problemas em potencial. Alguns dos projetos que citei anteriormente funcionavam perfeitamente no simulador, mas “travavam” no dispositivo móvel e eu era rejeitado pela Apple. A experiência era mais do que apenas frustrante e ensinou-­‐me uma valiosa lição: se você está desenvolvendo para uma plataforma, tenha dispositivos de teste!
Android
Corona somente compila para Android OS 2.2 ou superiores. Qualquer dispositivo que você planeje utilizar deve ter um processador ARM V7. Existe uma in`inidade de dispositivos que preenchem estes requisitos, então você não terá problema em encontrar um para executar seus testes.
iOS
Para desenvolvimento no iOS, você precisará de uma licença de desenvolvedor e também de um iPhone, iPod Touch, ou iPad. Obviamente, tendo um telefone antigo ou iPad é uma boa idéia para testar FPS (Frames por Segundo) se sua aplicação usa grá`icos intensamente. É recomendado que você use a versão mais recente do iOS em seus dispositivos. Para estar apto a instalar sua aplicação em um dispositivo iOS, você precisará de um Mac e uma conta de desenvolvedor Standard, Enterprise, ou University da Apple. Considerações de Publicação
Eu estou certo de que você já está imaginando as primeiras vendas de sua aplicação. Mas antes que você possa vendê-­‐la, você precisará decidir aonde você irá publicá-­‐la. Existem muitas considerações especí`icas de cada distribuidor que você precisa ter em mente. Android (Google)
O mercado para Android é muito diferente da loja do iTunes da Apple. No mercado Android você tem inúmeros distribuidores diferentes disponíveis para vender suas aplicações, incluindo o Android Market do Google (http://market.android.com), Amazon, Barnes and Noble, entre outros. Você precisará criar uma conta com cada distribuidor que você deseja utilizar como canal de vendas.
Por U$25 você pode criar uma conta de desenvolvedor para Android com o Google. Você NÃO tem que se cadastrar em nada até que esteja pronto para começar a vender suas aplicações. Para criar sua conta visite http://developer.android.com/index.html.
Uma vez que você tenha sua conta con`igurada você precisará decidir se sua aplicação será gratuita ou paga. Além disso, a maioria das lojas de aplicações lhe cobrará algo em torno de 30% sobre as vendas por estar lhe oferencendo os serviços. Em outras palavras, se você cobra 99 centavos por uma aplicação, você receberá 69.3 centavos por cada venda.
iOS (Apple)
Uma das maiores vantagens do mercado para iOS é que há somente uma loja de aplicativos. Desenvolver aplicações para o iOS lhe custará U$99 por ano para uma licença padrão de desenvolvedor Apple. Existem licenças empresarias que somente são necessárias caso você desenvolva em uma grande empresa. Para as `inanças de um estudante, a taxa de U$99 pode ser muito cara, então eu recomendo esperar tanto quanto possível antes de adquirir a licença que deve ser renovada anualmente. Você pode saber mais sobre licenças de desenvolvimento e sobre o iOS SDK em: http://developer.apple.com/programs/register/. Apple também lhe cobrará 30% de comissão sobre as suas vendas.
Programando no Corona: Lua
Neste texto, a linguagem que você usará em suas experiências com programação é Lua. Lua é uma linguagem de script que foi desenvolvida no início da década de 90. Ela é gratuita, distribuída sobre a licença MIT e largamente utilizada para o nível de lógica de grandes jogos e encaixa-­‐se naturalmente no desenvolvimento mobile pelo tamanho diminuto do seu interpretador. Corona Labs foi boazinha o bastante para fornecer dois apêndices sobre Lua (Apêndices A & B) que estão incluídos neste livro. Se você quer aprender mais sobre Lua, visite o site da linguagem http://www.lua.org. A primeira edição de Programando em Lua está disponível online em http://www.lua.org/pil. Se você já programou em qualquer outra linguagem moderna, você achará fácil aprender Lua enquanto nós avançaremos nas lições. Programando no Corona: Editores
A escolha de um editor será sempre uma decisão pessoal. Corona não é impactado por nenhum editor especí`ico, então você deve escolher um no qual se sinta confortável. Eu recomendo um que permita integração com Lua para tornar sua edição mais fácil. Alguns dos mais populares editores para uso com Corona incluem (mas não estão limitados) BBEdit, Eclipse, Notepad++, TextMate, TextWrangler, e Xcode. É claro qu você pode ignorar todos esses e usar o bloco de notas ou textedit se você desejar. BBEdit (Mac) por Bare Bones Software, U$99.99. Eu tenho usado BBEdit no meu Mac há algum tempo e é meu editor favorito quando estou trabalhando no Mac. BBEdit tem con`igurações internas (incluindo Lua), que permitem facilmente a você de`inir a linguagem na qual você está desenvolvendo. http://
www.barebones.com
Corona Project Manager (Mac/Win) por J.A. Whye, U$75.
Corona Project Manager tem um editor interno e juntamente com sua grande habilidade de simpli`icar o gerenciamento de um projeto Corona, o custo do CPM é baixo. Veja o Capítulo 17 para obter um cupom e economizar 30% no CPM. http://
www.coronaprojectmanager.com
Eclipse (Mac/Win) Código aberto, $0. Eclipse é o editor que uso quando estou trabalhando no meu PC. Eclipse tem uma grande comunidade de suporte. Embora Eclipse tenha sido originalmente desenvolvido como uma IDE Java (Ambiente de Desenvolvimento Integrado) ele é atualmente uma base para muitos editores no mercado. Um plugin para Lua/Corona está disponível. http://eclipse.org Notepad++ (Win) Código aberto, $0
Um editor de linguagens popular e de código aberto para ambientes PC. http://notepad-­‐
plus-­‐plus.org/
TextMate (Mac) por Micromates, €39 (cerca de U$57). Textmate é muito popular na comunidade Corona com um plugin disponível no site da Corona Labs. http://
macromates.com
TextWrangler (Mac) por Bare Bones Software, $0. TextWrangler tem a vantagem de ser um editor gratuito para o Mac. Embora ele não tenha todos os recursos do BBEdit, ele fará o trabalho necessário e oferece um suporte integrado ao Lua. http://www.barebones.com
Xcode (Mac) por Apple, $0*.
Xcode é uma parte integrante do iOS SDK. Se você está acostumado a desenvolver utilizando Objective-­‐C, Xcode é a escolha natural. Enquanto Xcode está incluído no iOS SDK, ele somente é gratuito se você já possui uma conta de desenvolvedor na Apple. Se você possuir somente uma conta gratuita, o iOS SDK custa U$4.99 (incluindo o Xcode).
Configurando Corona
A instalação do Corona SDK é algo bem direto. Somente clique no botão de download em http://www.coronalabs.com, registre-­‐se, selecione sua plataforma (Mac ou Windows) e siga as orientações abaixo baseado em seu sistema operacional.
Download do Corona SDK
Macintosh
Depois que você executar o arquivo baixado e aceitar a licença do software, arraste a pasta do Corona SDK para a pasta Aplicações.
Instalando Corona SDK em um Macintosh
Isto irá copiar todos os arquivos do Corona SDK para sua pasta de aplicações. Quando abrir a pasta do Corona SDK, você encontrará amostras de código, ferramentas, uma biblioteca de recursos bem como o Terminal e o Simulator (as ferramentas primárias de desenvolvimento que utilizaremos).
Windows
Corona SDK para Windows possui baixos requisitos de hardware: • Sistema operacional Windows 7, Vista, ou XP
• Processador de 1 GHZ (recomendado)
• 38 MB de espaço em disco (mínimo)
• 1 GB de memória RAM (recomendado)
• Sistema de grá`icos OpenGL 1.3 ou superior Em todas as instalações que eu `iz de Corona, o único problema que eu tive foi quando meu sistema não possuía OpenGL 1.3 ou superior instalado. Isto foi facilmente corrigido baixando drivers de vídeo atualizados para meu sistema. Corona SDK executa com versões antigas de OpenGL, porém com baixa performance. Você deve atualizar seus drivers de vídeo o quanto antes para corrigir o problema se ele existir. Mais informações sobre OpenGL podem ser encontradas em http://www.opengl.org.
Se você ainda não baixou o Java JDK (Kit para Desenvolvedores Java), você deve fazê-­‐lo agora. Vá em http://www.oracle.com/technetwork/java/javase/downloads/index.html e baixe o Java Platform Standard Edition clicando no botão “Download JDK”. Na próxima página, selecione “Windows x86” na lista de downloads disponíveis. O JDK é obrigatório para compilar aplicações para dispositivos em sistemas Microsoft Windows. Este é um download gratuito no site da Oracle. Depois qeu você tiver baixado o instalador, siga os procedimentos normais para instalar o JDK no seu sistema.
Programando no Corona: Olá Mundo (V1.0)
A primeira vez que você executar o Corona Terminal ou Simulator ele pedirá que você se autentique com as informações de registro que você usou no site da Corona Labs. Complete estas informações uma única vez e você estará preparado para continuar.
Registro do Desenvolvedor Corona
Você deve sempre executar o Corona Terminal em um Macintosh ao invés do Simulator para compilar e testar aplicações. Em um sistema Windows, executando o Corona Simulator, o Terminal também é executado. O Corona Terminal lhe dá informações importantes quando você está compilando suas aplicações e permite encontrar os erros mais facilmente. O Corona Terminal automaticamente executará o Corona Simulator. Projeto 1.0: Olá Mundo
Eu pessoalmente sempre odiei livros de programação e aulas que gastavam seu primeiro capítulo ou semana cuidando de todos os detalhes. Eu comprava o livro ou assistia a aula porque eu queria programar, não saber de história da programação ou `icar seguindo livros entediantes. Então vamos pular essa parte e partir para o necessário projeto “Olá Mundo”.
Pare de revirar os olhos! Antes de eu perder você, deixe-­‐me garantir que você irá obter um valioso recurso deste Olá Mundo, algo que você irá usar pro resto do seu tempo enquanto desenvolvedor Corona.
Foi o bastante para conseguir sua atenção? Então vamos começar!
Configurações do Projeto
Se você seguir este processo cada vez que você iniciar um novo projeto, ele tornará sua vida muito mais fácil:
Primeiro, crie uma pasta para o projeto chamada “Hello World” (Olá Mundo em Português). Ela pode `icar em sua Área de Trabalho ou onde preferir. Eu coloco todos meus projetos Corona em uma pasta “Projetos Corona”.
Crie uma pasta Hello World para seu projeto
Abra seu editor favorito (eu estou usando BBEdit nos screenshots). Crie um arquivo em branco e salve como “main.lua” na pasta Hello World que acabou de criar.
Salve o arquivo main.lua na sua pasta Hello World
Agora deve existir um arquivo main.lua na sua pasta Hello World. Voltando ao seu editor, digite:
print("Hello World")
e salve seu arquivo main.lua.
A seguir, você precisará executar o Corona. Se você está em um ambiente Microsoft Windows, execute o Corona Simulator. Em um Macintosh, execute o Corona Terminal.
Inicialização do Corona em um Mac – não use o botão de novo projeto ainda!
Ao executar você verá a janela Terminal e a caixá de diálogo Welcome to Corona. Selecione “Open a Project” nesta caixa de diálogo e navegue até a pasta Hello World que foi criada previamente.
Abra Hello World & selecione o dispositivo a simular
Quando você está abrindo um projeto, você estará apto a selecionar qual dispositivo você gostaria de simular no Corona Simulator. Por enquanto selecione iPhone ou Droid e clique no botão Open.
Tao logo você abra o projeto, o simulador irá executar o mesmo.
Você percebeu? Está certo, nada aconteceu...no simulador. Olhe na janela do Terminal. No `inal você verá seu Hello World exibido.
Hello World na janela do Corona Terminal
Parabéns! Você fez sua primeira aplicação Corona! Agora antes de `icar desapontado, você deve aprender a usar uma ferramenta muito importante para descobrir problemas em suas aplicações. Quando algo não está funcionando corretamente ou não está exibindo o que você esperava, você pode mandar a si mesmo mensagens através da janela do Terminal. Acredite quando eu digo que este comando irá lhe salvar horas de dores-­‐de-­‐cabeça com erros ocultos!
Aviso: Se você ainda não viu nada, existem dois erros comuns que as pessoas cometem: 1) eles não salvam seu arquivo main.lua (eu ainda faço isso) ou 2) quando salvam o arquivo main.lua, ele não é salvo como um arquivo de texto.