terça-feira, 24 de março de 2009

Pastas do projeto

Quando criamos o projeto Hello World diversas pastas também foram criadas. Estas pastas podem ser visualizadas no pianel Groups & Files no Xcode. As seguintes pastas estão presentes:

Classes
É onde fica a maioria da codificação do projeto, pois é onde devem ficar a programação feita em Objective-C. É possível criar pastas para ajudar a organizar o conteúdo.

Other Source
Todo código fonte que não são objective-C classes. Inicialmente existem dois arquivos lá:
Nome_do_Projeto_Prefix.pch: É o arquivo chamado de "precompilded header" e contém a lista de arquivos de headers externos ao projeto. Tem por objetivo reduzir o tempo de compilação doprojeto.

main.m: É o arquivo que contém o método main() da aplicação. Normalmente não é necessário alterar este arquivo, pois o metodo main tranfere a ação para o arquivo
Nome_do_ProjetoAppDelegate.

Resources
É onde ficam todos os arquivos que não são de codificação, mas fazem parte do aplicativo. É onde ficam aruivos de imagens, sons, vídeos e demais arquivos necessário à aplicação. Como os aplicativos rodam dentro da propria SandBox, ele não terá permissão para acessar arquivos localizados no iPhone ou em outra aplicação. Nesta pasta também ficam o arquivos NIB.

Um arquivo NIB é uma arquivo de dados que armazena uma série de objetos que poderá ser utilizado na aplicação, em geral Windows and Views responsáveis pelas interfaces da aplicação. Estes objetos são chamados pela aplicação e os elementos lá armazenados tornam-se itens da interface, interpretáveis e manipuláveis
,não necessitando inserir or desenhá-los por programação.

A pasta resources deve conter pelo menos três arquivos:
Nome_do_ProjetoViewController.xib: Arquivo com informações para o programa Interface Builder.

Info.plist: arquivo de properties com as informações da aplicação.

MainWindow.xib: Principal arquivo NIB da aplicação.

Frameworks
É onde ficam todas as bibliotecas especiais à aplicação. Esta pasta será utilizada para o caso da aplicação necessitar de algum recurso à parte, pois a cada projeto todas as bibliotecas básicas já estão incluídas.

Products
É a pasta onde ficam os produtos resultantes da compilação. Dentro dela conterá o arquivo
Nome_do_Projeto.app

Aspectos do desenvolvimento para iPhone

O desenvolvimento para iPhone (OS 2.2.x) tem algumas características, restrições e, por que não, imposições:

1) Apenas uma aplicação rodando.
Só é possível, em um dado momento, que apenas uma aplicação esteja rodando no iPhone, ou seja, não existe "time-sharing" entre aplicações e não é possível deixar uma aplicação rodando em background. Assim sua aplicação só poderá executar alguma ação, se o usuário estiver interagindo com ela, ou seja, com ela na tela. Provavelmente este recurso vai ser liberado no futuro, pois o iPhone já tem este recurso disponível, na funcionalidade de iPod, por exemplo.

2) Apenas uma Janela
Diferente de aplicações desktop, onde pode-se ter várias janela rodando ao mesmo tempo, o iPhone só permite uma janela.

3) Acesso limitado
As bibliotecas de desenvolvimento do iPhone possuem diversas restrições impostas pela Apple. Apenas de uma área do iPhone, chamada de sandbox, é permitido a leitura e escrita de arquivos, e é onde a aplicação poderá guardar dados, preferências e toda informação que precisar ser armazenada.

4) Tempo de resposta limitado
Devido as características do seu uso iPhone é rápido e as suas aplicações também devem ser. Devem abrir e fechar rapidamente. Quando o usuário clica no ícone do programa, este deve carregar as preferências e dados, assim como mostrar a tela principal do programa o mais rápido possível. O processo inverso deve ocorrer quando o usuário clicar no botão de home, a aplicação deve salvar todas as informações necessárias o mais rápido possível, pois caso contrário o sistema operacional vai "matar" a aplicação e dados podem ser perdidos.

5) Tamanho de tela limitado
Tela de apenas 480x320 pixels

6) Recursos de hardware limitado
Atualmente as versões do iPhone tem 128 Mbytes de RAM.

segunda-feira, 23 de março de 2009

Primeiros passos

Segue abaixo os primeiros passos para iniciar o desenvolvimento para o iPhone:

1º) Mac Os X Leopard.
Não tem outro jeito, para desenvolver para o iPhone precisa-se de um Mac. A versão atual do iPhone SDK exige a versão 10.5.5 ou superior. Você pode optar por comprar um Macintosh ou instalar em um PC normal as versões "hackeadas" do Mac Os X (os chamados "Hackintosh"), mas saiba que vai dar trabalho e pode ser que determinados itens de hardware da sua máquina não funcionem ou não funcionem a contento.

2º) Registrar-se como desenvolvedor no "iPhone Developer Center".
Para poder ter acesso aos materiais que a Apple disponibiliza e, principalmente, ao iPhone SDK, é necessário registrar-se. É gratuito e é feito no site http://developer.apple.com/iphone/.

3º) Baixar o iPhone SDK.
O iPhone Software Developer Kit (SDK) é uma espécie de plugin para o Xcode com as bibliotecas, ferramentas e emulador para desenvolvimento para o iPhone. o Xcode é a ferramenta de desenvolvimento de aplicações da Apple e vem com a distribuição do Mac Os X.

A partir destes passos iniciais é possível fazer as primeiras aplicações para o iPhone e testá-las no iPhone Emulator. Caso deseje testar diretamente no iPhone é necessário mais um passo:

4º) Registrar-se no "iPhone Developer Program".
Para isto é necessário comprar a "licença" de desenvolvedor para iPhone. A standard custa US$99,00 é individual, ou seja para apenas um desenvolvedor. A Enterprise custa US$ 299,00 e é para empresas e permite criar até 500 licenças para sua equipe. É claro que existe um forma de driblar isto. Veja na sequencia do Blog.

sexta-feira, 20 de março de 2009

Alfa
















Este blog é bastante despretencioso, tem por objetivo registrar os meus estudos a respeito do desenvolvimento de aplicações para o iPhone. Por hora já tenho um conhecimento básico, mas vou voltar no tempo para fixar o conteúdo e tirar dúvidas a respeito de itens que acabaram sendo feitos ou codificados sem saber a razão ou motivo, mas que eram necessários para fazer funcionar.
Como pretendo registrar do básico ao mais complexo, assim que eu for avançando nos estudos, pode ser que este blog seja util para mais alguém que esteja em situação semelhante.