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

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!

Um comentário:

Rodrigo Webduff disse...

O seu post foi perfeito, muito legal a sua iniciativa de ajudar aos iniciantes. Vou acompanhar todas as suas publicações a partir de hoje.

Mais uma vez obrigado e sucesso...