sábado, março 05, 2011

Criando um aplicativo para iPhone no xCode - Parte 2 -

Continuando nossa série de posts sobre desenvolvimento para iOS, vamos dar continuidade no nosso projeto da calculadora.

Primeiro uma palavra sobre o quesito resolução, o iPhone 3 tem a tela de resolução de 320 x 480, já o iPhone 4 tem resolução de 640 x 960, e o iPad tem resolução de 768 x 1024,  considerando que as medidas referem-se sempre a Largura x Altura, pode-se notar que a diferença de resolução pode fazer com que um aplicativo feito para o iPhone 3, irá ficar com uma resolução no minimo horrível, no iPhone 4 e no iPad.
Como só tenho o iPhone 4 para testar, e o iPhone 3 o meu teste é no emulador, tenho dúvidas sobre como abordar esta questão, estou pesquisando isto e posto aqui tão logo tenha uma resposta correta, por enquanto a minha abordagem está sendo desenvolver para a resolução do iPhone 4, tendo em mente que, para o iPad a tela ficará menor, mas isto não é necessariamente um problema para uma calculadora, creio que para outros aplicativos que necessitem usar tela cheia, deveremos fazer uma versão específica para iPad.
     Já o caso do iPhone 3, a minha tentativa será ver se ele ajustará automaticamente o tamanho da tela, o que acho que não vai ocorrer, e nesse caso teríamos que ter uma versão específica para esta resolução de tela.
     Se algum de vocês, que estão acompanhando estes posts, tem acesso à um iPhone 3 (Qualquer versão, 3G, 3GS, a resolução de tela é a mesma), e puder testar, será uma preciosa contribuição.

     Vamos iniciar o xCode, e ao abri-lo veremos a tela inicial, como esta:


  
      Escolheremos "Create a new xCode Project", a seguir você deverá escolher o tipo de aplicativo que deseja desenvolver, note que você pode escolher desenvolver para o iOS (se você instalou o SDK, como mencionamos no primeiro post desta série, caso contrário você só terá a possibilidade de desenvolver para o MacOS), e vamos escolher em iOS a opção View-based application conforme você pode ver na tela a seguir:


    Uma view no iOS, é como se fosse um formulário no desenvolvimento para Windows (a grosso modo), na verdade um aplicativo pode ter várias views, ou seja, uma view é uma tela que o usuário vê e interage durante o uso do aplicativo, contém os controles que aceitam comandos do usuário e campos e figuras que mostram ao usuário as respostas aos seus comandos (feedback para o usuário).

     Como a nossa calculadora terá apenas uma tela, terá apenas uma view, pois na mesma view o usuário irá digitar os números, escolher as operações e verificar visualmente o resultado da operação realizada.
      Note que, escolher um modelo de aplicativo nesta fase do projeto, não quer dizer que o seu aplicativo esteja engessado, fadado a usar esse modelo sem alternativas, na realidade você pode mudar o formato inicial na medida que seus requisitos de projeto mudarem.

       Ao escolher para criar o aplicativo, será solicitado um nome para o aplicativo, e um local onde o mesmo deverá ser gravado, no nosso caso escolhi o nome Calculator_01, como você pode ver na tela abaixo.


     Se você pretende desenvolver aplicativos e vender na AppStore, o meu conselho é que você habitue-se a desenvolver o seu aplicativo todo em inglês, incluindo nome e mensagens, você pode depois criar uma opção multi idioma, mas como o mercado mais rentável é o mercado internacional, não pense que um consumidor americano, inglês ou australiano vai sequer olhar para um aplicativo que não esteja no idioma de Shakespeare. Também esteja preparado para dar suporte em inglês.
      Se o idioma do grande bardo é um problema para você, e sua intenção é realmente ganhar dinheiro com o mercado de aplicativos para o iOS, o melhor investimento nem será um hardware Mac, mas um curso de inglês urgente, ou você ficará limitado ao mercado de língua portuguesa, provavelmente mais especificamente ao Brasil, que é uma fração bem pequena no mercado potencial total.
       Nestes tópicos criaremos o aplicativo todo em inglês, como se fosse um aplicativo voltado para comercialização na AppStore internacional da Apple. Mais uma vez meu conselho: habitue-se à isto, ou você ficará frustrado com a baixa saída dos seus aplicativos.
           Quando terminar de criar o aplicativo, será mostrada a tela de projeto do xCode, com o projeto de Calculator_01 e seus arquivos, conforme abaixo:


      Veja que, se você está habituado com outras IDEs como Eclipse, Visual Studio, Delphi, o xCode não é assim tão estranho, basicamente você tem na parte esquerda da tela a visualização do projeto em esquema de árvore, onde você pode ver os arquivos que compõem o projeto, quando você selecionar um arquivo ou pasta nesta árvore, no painel a direita, na parte superior são mostrados os arquivos que estão sob esta pasta, e ao selecionar um arquivo neste painel superior à direita, você verá o arquivo no painel inferior, se for possível mostrar-lo.
         Ou seja, o esquema é relativamente simples.

          Já temos o nosso projeto iniciado, os arquivos básicos que devem fazer parte dele já foram gerados de forma automática pelo xCode, iremos adiante complementar os arquivos e recursos e começar a produzir código.

          Como o Objective C é uma linguagem orientada a objetos, iremos trabalhar dentro desta filosofia para produzir o nosso aplicativo. Iremos criar uma classe que irá fornecer as funções básicas de uma calculadora, ou seja armazenar os operadores, fazer as quatro operações básicas e armazenar o resultado. Nesta primeira aproximação não trabalharemos com agrupamento de operações, iremos utilizar as operações par a par a medida que forem sendo realizadas, ou seja, iremos armazenar um valor, aceitar um operador e outro valor, e fazer a operação entre estes dois operadores e guardar o resultado, que será o nosso valor armazenado para prosseguir as operações, à menos que o usuário clique em C (Clear) para zerar o acumulador e começar uma nova operação a partir do zero.


Posts anteriores desta série:
Criando um aplicativo para iPhone no xCode - Parte 1
Criando um aplicativo para iPhone no xCode - Parte 1 - Adendo.

terça-feira, março 01, 2011

Criando um aplicativo para iPhone no xCode - Parte 1 - adendo

Em complemento ao post anterior, segue aqui um mapa das teclas de atalho para o xCode, muitas vezes é mais produtivo ir direto na tecla de atalho do que usar o mouse. É uma boa idéia você baixar a imagem e imprimir para ter a mão quando estiver trabalhando no xCode.


Criando um aplicativo para iPhone no xCode - Parte 1

Muitos desenvolvedores gostariam de saber como desenvolver aplicativos para o mercado do iOS, o sistema operacional para o iPhone, iPad e iPod.

Na busca por isso, descobre-se que a linguagem nativa para isso é o Objective C, a parte boa é que a IDE para esta linguagem, e o SDK para o iOS é free e pode ser baixado direto do site da apple em http://developer.apple.com/devcenter/ios/index.action, você pode se inscrever no programa de desenvolvedores da apple sem custo inicial.
Você só irá pagar as taxas da apple quando (e se) decidir comercializar seus aplicativos na appStore, na época da postagem deste arquivo, a taxa estava em U$ 99,00 /ano.
A idéia desta série de postagens é demonstrar o que é necessário para se desenvolver para o iOS, como se faz isto, e os meandros da linguagem e da IDE para os gadgets da Apple.
      Sempre fui partidário que a melhor forma de aprendizado é: 
1 - Mão na massa - ou seja, se aprende melhor na prática mesmo.
2 - Na medida que aprender, você deve ensinar, disseminar conhecimento é a melhor forma de evoluir.

    Dito isto, o que pretendo fazer é um tutorial passo a passo, desde a instalação do ambiente, e desenvolver um programa básico, para fixar os conceitos da IDE e da linguagem. Nosso programa de exemplo não será nenhum prosaico Hello World, acho que isso funcionou muito bem para Dennis Ritchie quando mostrou ao mundo a linguagem C, mas hoje em dia apelar para isso é uma completa perda de tempo. Na minha opinião, isso é para quem não quer se comprometer com o que escreve. Com isto, vamos desenvolver um programinha um pouco mais pretensioso, mas igualmente simples: uma calculadora, que servirá para ilustrar uma série de conceitos da IDE e da linguagem. 
Depois de pronta, vamos aos poucos implementando outras funcionalidades nela, espero que com a colaboração de todos que acharem esta série de posts útil.

    No artigo anterior, mostramos como instalar o MacOS X em uma máquina virtual em Virtual Box, pretendo disponibilizar aqui também um link para uma máquina montada em VMWare. 
    Novamente destaco que, isto é bom para você conhecer o ambiente, aprender um pouco, mas quando for desenvolver a sério, considere adquirir um hardware Apple, a diferença na sua produtividade será fantástica, acredite em mim (todos estes posts estão sendo escritos direto do MacBook que estou usando para desenvolver, acredite seria muito penoso fazer isto de uma VM).

    Uma vez instalado o MacOS X (no momento você precisa, no mínimo, do Snow Leopard para usar o SKD 4 do iOS), acesse o site de desenvolvedores da Apple, no link postado no inicio deste artigo, baixe os pacotes (é grande, a imagem do DVD é aproximadamente 3,5 Gb), e instale no Mac.

     Primeira questão: Qual a linguagem que vamos utilizar?

     Vamos utilizar Objective C que, para quem acha que por saber bem C estará em casa, convém antes fazer uma pequena apresentação do ObjC.
      Primeiro, ObjC algumas vezes será igual a C, outras vezes será igual a Smalltalk, mas na maioria das vezes será apenas levemente parecida com uma ou outra destas linguagens, sendo diferente de ambas. Coisas da Apple (quem teve que ralar com o Apple Basic nos primórdios da programação vai entender de cara o que estou escrevendo)!
      A origem é lá nos idos dos anos 90, quando Steve Jobs fez um acordo com a Apple, onde ele entrou com o traseiro e os executivos da Apple na época entraram com os pés. Na rua, com alguma grana que ele e Wozniak haviam recebido (sim, Jobs não fundou a Apple sózinho, mas isso é outra história) realizou alguns investimentos em startups de TI, um destes investimentos foi a aquisição de parte de uma startup chamada Next, que vinha trabalhando duro em workstations para processamento gráfico pesado, e assim acabou incorporando uma linguagem dedicada para isto, que foi criada por Brad Cox e Tom Love para a empresa de ambos, a StepStone, que foi posteriormente licenciada pela Next. 
Exato, se você pensou que esta linguagem era Objective C, acertou.
Quando Jobs voltou para a Apple, para tirá-la da quase falência para o Olimpo que desfruta hoje, uma das condições foi a aquisição da Next, que era a sua "menina dos olhos".
Ao assumir a direção dos negócios, verificou a necessidade da reformulação de vários produtos, incluindo o próprio sistema operacional, que nessa época estava bem defasado e padecia de um certo atraso tecnológico. Para toda essa empreitada foi escolhido o Objective C, e o resto faz parte da história.

     A primeira barreira que o desenvolver novato na plataforma Apple vai se deparar, é com a própria IDE xCode. No inicio pode parecer meio estranho, é bem diferente das outras IDEs que você possa estar acostumado, estou comparando com NetBeans, Eclipse, Visual Studio, Delphi. Mas depois de 1 ou 2 horas de uso você pega o "jeitão" da coisa, e quando for ver, já estará dominando o xCode.
      O xCode vem por padrão junto com o sistema operacional MacOS, para desenvolver direto para o MacOS você não precisará de mais nada, mas para desenvolver para o sistema operacional iOS, dos gadgets da apple, você precisa baixar o SDK no link do inicio do artigo.
      Se você não estiver visualizando o xCode na sua barra de aplicativos, vá em /Developer/Applications e você deverá encontrar o xCode. Pode ocorrer também que o xCode não tenha sido instalado quando você instalou o sistema operacional na máquina, neste caso basta rodar novamente o DVD de instalação do MacOS X e instalar o aplicativo, depois disso, o xCode deverá estar no diretório mencionando anteriormente.
      
       Atenção, depois do xCode instalado você deverá instalar o SDK para o iOS, se você instalou o SDK e depois instalou o xCode, deverá refazer a instalação do SDK para que essa opção apareça no xCode, caso contrário você só terá a opção de desenvolvimento para o MacOS.

        IDE instalada, vamos definir o nosso projeto:
  • Será uma calculadora para fazer as 4 operações básicas.
  • Não terá, pelo menos nesta primeira versão, alguns recursos como: memória adicional, persistência dos resultados, modo alternativo além do decimal.
  • Sem grandes sofisticações visuais, porém vamos cuidar para que, embora simples, seja ao menos bonitinha. Leve em conta sempre que, o design é tão importante quanto a funcionalidade, você estará desenvolvendo para um público acostumado ao belo design dos equipamentos e aplicativos da Apple, um público bem mais exigente neste quesito. Se pretende desenvolver a sério e tentar ganhar algum dinheiro no mercado do iOS, cuide sempre do design, e no fim do projeto, cuide novamente do design, e antes da publicação final, reveja novamente o design.

       Bom, no próximo post vamos iniciar a mão na massa de verdade, definindo visualmente como será o nosso aplicativo e vamos começar a fazer um pouco de código de verdade. See you guys!