Introdução Ao Desenvolvimento Para Iphone

43

description

Palestra proferida por Israel S. Paixão Jr., em Maio de 2010 na Semana de Informatica PUC São Gabriel 2010.

Transcript of Introdução Ao Desenvolvimento Para Iphone

Page 1: Introdução Ao Desenvolvimento Para Iphone
Page 2: Introdução Ao Desenvolvimento Para Iphone

Introdução ao Desenvolvimento para iPhone

Israel S. Paixão Jr.

2

Page 3: Introdução Ao Desenvolvimento Para Iphone

Resumo

• Parte I: Por que desenvolver para iPhone?

• Parte II: Receita para uma aplicação iPhone.

• Parte III: Hello World.

3

Page 4: Introdução Ao Desenvolvimento Para Iphone

Parte I: Por que desenvolver para iPhone?

4

Page 5: Introdução Ao Desenvolvimento Para Iphone

Por que desenvolver para iPhone?

MERCADOSteve Jobs anunciou recentemente que foram vendidos 50 milhões de iPhone e 35 milhões de iPodTouch.

5

Page 6: Introdução Ao Desenvolvimento Para Iphone

Por que desenvolver para iPhone?HÁBITOS DE CONSUMO

A AppStore fará 2 anos em julho de 2010 e já possui mais de 180 mil aplicações disponíveis.Segundo a Apple já foram vendidas mais de 4 bilhões de aplicações.As pessoas já aprenderam como utilizar a AppStore, e para grande parte delas, isto já se tornou um hábito.

6

Page 7: Introdução Ao Desenvolvimento Para Iphone

Por que desenvolver para iPhone?VERSATILIDADE

Seja qual for sua idéia para uma aplicação, ela poderá ser bem implementada no iPhone, desde que seja apropriada para dispositivos móveis.Jogos, aplicativos de referência, aplicativos promocionais, clientes alternativos para aplicações web, aplicações corporativas para vendedores e/ou coleta de dados, etc.

7

Page 8: Introdução Ao Desenvolvimento Para Iphone

Por que desenvolver para iPhone?

UNIFORMIDADE

A ausência de diversos fabricantes acaba garantindo uma plataforma uniforme e estável, além de muito rica em documentação e com uma ampla comunidade de desenvolvedores.

8

Page 9: Introdução Ao Desenvolvimento Para Iphone

Por que desenvolver para iPhone?FUTURO

A Apple não fica parada. O iPhone OS 4.0 vem aí e oferece uma série de recursos que tornarão o desenvolvimento para a plataforma ainda mais interessante. Desenvolver para iPhone deixa você mais próximo das novidades da Apple. Como exemplo, o iPad, lançado em abril de 2010, compartilha a maior parte das ferramentas e paradigma de desenvolvimento do iPhone.

9

Page 10: Introdução Ao Desenvolvimento Para Iphone

Parte II - Receita para uma Aplicação iPhone

10

Page 11: Introdução Ao Desenvolvimento Para Iphone

Ingredientes

1. Computador Macintosh Intel (modelos de 2006 em

diante)

2. Sistema Operacional Leopard ou SnowLeopard (Mac

OS X 10.5 ou mais recente)

3. Um iPhone (ou iPodTouch)

4. Uma conta no iPhone Dev Center

11

Page 12: Introdução Ao Desenvolvimento Para Iphone

Tipos de Contas no iPhoneDev Center

• Gratuita: habilita o acesso às ferramentas de desenvolvimento (iPhone SDK, Xcode, etc.). Não permite a execução da aplicação no iPhone, apenas no simulador;

• Standard $99: habilita testes e debug no iPhone, permite publicar suas aplicações na AppStore;

• Empresa $299: Mais adequada para desenvolvimento de aplicações a serem distribuídas internamente. O cadastro nesta modalidade envolve certa burocracia e pode demorar.

Ver diferenças entre os tipos de contas

12

Page 13: Introdução Ao Desenvolvimento Para Iphone

Modo de Preparo (em sete passos)1. Familiarize-se com o iPhone

2. Instale as ferramentas de desenvolvimento

3. Estude Objective-C

4. Escolha frameworks e engines apropriados

5. Construa sua aplicação

6. Prepare sua aplicação para a venda na AppStore

7. Promova sua aplicação

13

Page 14: Introdução Ao Desenvolvimento Para Iphone

Passo 1: Familiarize-se com o iPhone

• Formas de interação bastante peculiares, diferentes

de outros dispositivos

• Somente depois de utilizar o iPhone por um tempo,

você terá idéia do que funciona bem em matéria de

usabilidade

• Explore as aplicações disponíveis na AppStore,

confira se sua idéia ainda não foi implementada14

Page 15: Introdução Ao Desenvolvimento Para Iphone

Passo 2: Instale as Ferramentas de Desenvolvimento

Após instalar o iPhone SDK você terá em seu Mac OS as seguintes ferramentas:

• XCode• Interface Builder• Instruments• iPhone Simulator

15

Page 16: Introdução Ao Desenvolvimento Para Iphone

Passo 2: Instale as Ferramentas de Desenvolvimento

XCode

16

Page 17: Introdução Ao Desenvolvimento Para Iphone

Passo 2: Instale as Ferramentas de Desenvolvimento

Interface Builder

17

Page 18: Introdução Ao Desenvolvimento Para Iphone

Passo 2: Instale as Ferramentas de Desenvolvimento

Instruments

18

Page 19: Introdução Ao Desenvolvimento Para Iphone

Passo 2: Instale as Ferramentas de Desenvolvimento

iPhone Simulator

19

Page 20: Introdução Ao Desenvolvimento Para Iphone

Passo 3: Estude Objective-C

Características da linguagem Objective-C:- Estende a linguagem C (detalhes)

- É orientada a objetos- Invocação de métodos através de mensagens- Dinâmica (typing, binding, loading)

- Gerenciamento de memória baseado em contador de referência (ver regras)

- Pode ser misturada com C++ (ver exemplo)

20

Page 21: Introdução Ao Desenvolvimento Para Iphone

Passo 3: Estude Objective-C

Fontes para Estudo• Aulas sobre Desenvolvimento para Iphone da

Universidade de Stanford– Os vídeos das aulas estão disponíveis no iTunes U.

• Introduction to The Objective-C Programming Language – Manual de Referênciada Apple

21

Page 22: Introdução Ao Desenvolvimento Para Iphone

Passo 4: Escolha os Frameworks/Engines Apropriados

Camadas do iPhone OS

22

Page 23: Introdução Ao Desenvolvimento Para Iphone

Passo 4: Escolha os Frameworks/Engines Apropriados

Camadas do iPhone OS

Conjunto de interfaces fundamentais acessíveis via linguagem C.( Core Foundation, CFNetwork, SQLite )

Conjunto de interfaces para acesso aos recursos de áudio e vídeo. ( OpenGL ES, Core Audio, Core Animation )

Conjunto de frameworks de alto nível em Objective-C. ( Foundation, UIKit )

23

Page 24: Introdução Ao Desenvolvimento Para Iphone

Passo 4: Escolha os Frameworks/Engines Apropriados

Camadas do iPhone OS

É recomendável que sua aplicação acesse as camadas inferiores, apenas quando a funcionalidade desejada não está disponível nas camadas superiores. Grande parte das aplicações acessa apenas a CocoaTouch. É comum, entretanto, jogos acessarem as camadas inferiores.

24

Page 25: Introdução Ao Desenvolvimento Para Iphone

Passo 4: Escolha os Frameworks/Engines Apropriados

CocoaTouch

25

Page 26: Introdução Ao Desenvolvimento Para Iphone

Passo 4: Escolha os Frameworks/Engines Apropriados

CocoaTouchO CocoaTouch coloca em prática muitos dos padrões de projeto do famoso livro Padrões de Projeto - SoluçõesReutilizáveis de Software Orientado a Objetos. Caso sua aplicação precise utilizar amplamente o UIKit, é recomendável que você leia a documentação sobre como estes padrões foram adaptados no CocoaTouch.

26

Page 27: Introdução Ao Desenvolvimento Para Iphone

Passo 4: Escolha os Frameworks/Engines Apropriados

CocoaTouch - UIKit

27

Page 28: Introdução Ao Desenvolvimento Para Iphone

Passo 4: Escolha os Frameworks/Engines Apropriados

Cocos2D IphoneGame engine paraconstrução de jogos 2D utilizando Objective-C

http://www.cocos2d-iphone.org/28

Page 29: Introdução Ao Desenvolvimento Para Iphone

Passo 4: Escolha os Frameworks/Engines Apropriados

OolongengineGame engine em C++ para contrução de jogos 2D e 3D

http://code.google.com/p/oolongengine/29

Page 30: Introdução Ao Desenvolvimento Para Iphone

Passo 4: Escolha os Frameworks/Engines Apropriados

Unity3D iPhone

http://unity3d.com/30

Page 31: Introdução Ao Desenvolvimento Para Iphone

Passo 5: Construa sua aplicação

Lembre-se das peculiaridades da plataforma:- Sua aplicação terá apenas uma janela, a qual

ocupará toda a tela do iPhone- Apenas uma aplicação em execução- Acesso limitado ao iPhone- Tempo de resposta limitado- Tela pequena: 480x320 pixels- Recursos limitados (128~256MB RAM)

31

Page 32: Introdução Ao Desenvolvimento Para Iphone

Passo 5: Construa sua aplicação

Planeje sua aplicação, comece pela interface. Se você planeja utilizar o UIKit é fortemente recomendada a leitura do guia de usabilidade da Apple:

Human Interface Principles: Creating a Great User Interface

32

Page 33: Introdução Ao Desenvolvimento Para Iphone

Passo 5: Construa sua aplicação

• Tenha o hábito de testar sua aplicação no iPhone durante o desenvolvimento. Alguns processos que são instantâneos no simulador podem ser lentos demais no dispositivo real.

• Sempre que possível peça a pessoas que não estejam envolvidas com o desenvolvimento da aplicação para testá-la. Assim, você pode verificar se sua abordagem para a interface funciona, pode obter sugestões de melhorias e encontrar bugs precocemente.

33

Page 34: Introdução Ao Desenvolvimento Para Iphone

Passo 6: Prepare sua Aplicação para a Venda na AppStore

Entendendo os papéis do Program Portal.

• TeamAgent– dono da conta, quem pagou por ela. O único que pode autorizar a publicação de uma aplicação.

• TeamAdmin– Pode adicionar membros e dispositivos. Aprova solicitações de certificados digitais e gera perfis de provisionamento de desenvolvimento.

• TeamMember– Pode solicitar certificados digitais e baixar perfis de provisionamento de desenvolvimento.

34

Page 35: Introdução Ao Desenvolvimento Para Iphone

Passo 6: Prepare sua Aplicação para a Venda na AppStore

Passos para testar sua aplicação no iPhone

35

Page 36: Introdução Ao Desenvolvimento Para Iphone

Passo 6: Prepare sua Aplicação para a Venda na AppStore

Distribuindo sua aplicação para beta-testers.

(detalhes)

36

Page 37: Introdução Ao Desenvolvimento Para Iphone

Passo 6: Prepare sua Aplicação para a Venda na AppStore

Passos para construir versão de distribuição

37

Page 38: Introdução Ao Desenvolvimento Para Iphone

Passo 6: Prepare sua Aplicação para a Venda na AppStore

Submeta sua aplicação para a AppStore via ItunesConnect

38

Page 39: Introdução Ao Desenvolvimento Para Iphone

Passo 7: Promova sua Aplicação

• Coloque vídeos da sua aplicação no youtube;• Publique anúncios em blogs lidos pelo público

alvo;• Crie uma versão gratuita e permita a compra

da versão completa de dentro da própria aplicação;

• Invista em Marketing até onde seu orçamento permitir.

39

Page 40: Introdução Ao Desenvolvimento Para Iphone

Parte III: Hello World

Vamos ao Xcode...

40

Page 41: Introdução Ao Desenvolvimento Para Iphone

Mantenha-se Informado

RSS Feeds Recomendados:

iPhone Developer Newshttp://developer.apple.com/rss/iPhonedevnews.rss

iPhone Developers Tutorials and Programming Tipshttp://feeds.feedburner.com/maniacdev

iPhone Flowhttp://feeds.feedburner.com/iPhoneFlow

41

Page 42: Introdução Ao Desenvolvimento Para Iphone

Receita Alternativa

Receita alternativa com um iPhone

42

Page 43: Introdução Ao Desenvolvimento Para Iphone