Professional Documents
Culture Documents
Novatec
Aprendendo Programao
iOS
Authorized Portuguese translation of the English edition of titled Learning iOS Programming, 3rd edition, ISBN
9781449359348 2013 Alasdair Allan. This translation is published and sold by permission of O'Reilly Media,
Inc., the owner of all rights to publish and sell the same.
Traduo em portugus autorizada da edio em ingls da obra Learning iOS Programming, 3rd edition, ISBN
9781449359348 2013 Alasdair Allan. Esta traduo publicada e vendida com a permisso da O'Reilly Media,
Inc., detentora de todos os direitos para publicao e venda desta obra.
Novatec Editora Ltda. [2013].
Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. proibida a reproduo desta obra, mesmo
parcial, por qualquer processo, sem prvia autorizao, por escrito, do autor e da Editora.
Editor: Rubens Prates
Traduo: Rafael Zanolli
Reviso tcnica: Aurelio Jargas
Reviso gramatical: Marta Almeida de S
Editorao eletrnica: Carolina Kuwabata
ISBN: 978-85-7522-363-5
Histrico de impresses:
Julho/2013 Primeira edio
Novatec Editora Ltda.
Rua Lus Antnio dos Santos 110
02460-000 So Paulo, SP Brasil
Tel.: +55 11 2959-6529
Fax: +55 11 2950-8869
Email: novatec@novatec.com.br
Site: www.novatec.com.br
Twitter: twitter.com/novateceditora
Facebook: facebook.com/novatec
LinkedIn: linkedin.com/in/novatec
17
CAPTULO 1
Por que seguir o caminho nativo?
Quando o iPhone foi originalmente apresentado, em 2007, no havia nenhum
SDK nativo. A Apple armava que um SDK desse tipo no era necessrio e que
aplicativos para o dispositivo deveriam ser construdos como aplicativos web
utilizando JavaScript, CSS e HTML. Isso no foi bem digerido pela comunidade
de desenvolvedores; eles queriam acesso direto ao hardware e integrao com os
prprios aplicativos da Apple.
Apenas alguns poucos meses depois do lanamento do iPhone, a comunidade de
cdigo aberto havia realizado algo que muitos consideravam impossvel. Apesar
de a Apple bloquear o dispositivo, desenvolvedores haviam obtido acesso, feito a
engenharia reversa do SDK e seguido para construir uma cadeia de ferramentas
de cdigo-aberto gratuita que lhes permitia desenvolver aplicativos nativos para
o dispositivo. Em determinado momento, estimava-se que mais de um tero dos
iPhones no mercado havia sido desbloqueado com jailbreak
1
por seus usurios,
permitindo que eles executassem esses aplicativos no sancionados de terceiros.
No entanto o livro que voc tem em mos no trata do SDK hacker de cdigo
aberto, pois, em maro de 2008, menos de um ano depois do lanamento do pri-
meiro iPhone, a Apple mudou de opinio publicamente e lanou um SDK nativo
para uma comunidade de desenvolvedores que estava espera. Se esse lanamento
foi ou no uma resposta aos esforos da comunidade de cdigo aberto, ou se esse
foi o tempo todo exatamente o plano de uma Apple notoriamente reservada,
isso provavelmente nunca saberemos.
1 N.T.: O Jailbreak um processo que permite que aparelhos com o sistema iOS (iPhone, iPod
Touch e iPad) executem aplicativos no autorizados pela fabricante Apple. Um aparelho com
Jailbreak capaz debaixaraplicativos anteriormente indisponveis pelaApp Storepor meio de
instaladores no ociais como oCydia, assim como aplicaes adquiridas de forma ilegal (fonte:
Wikipdia).
Aprendendo Programao iOS 18
Os prs e os contras
Quando o SDK nativo foi apresentado, muitas pessoas do setor argumentaram
que ele era, na realidade, um passo atrs para os desenvolvedores. Eles sentiam
que os aplicativos web eram sucientemente bons. Ao escrever um cdigo especi-
camente para o iPhone em Objective-C, voc estava tornando mais difcil portar
seus aplicativos, e a portabilidade de um aplicativo web consistia mais ou menos
em simplesmente reestiliz-lo utilizando um novo template CSS.
Parecia que os usurios dos aplicativos discordavam. Pode-se discutir porque
isso ocorreu, mas muito difcil desenvolver aplicativos web de aparncia nativa
que possam ser reutilizados em muitas plataformas diferentes, ainda que isso
seja possvel. Da mesma forma que os aplicativos do desktop Mac que foram
portados do Windows tendem a incomodar como um polegar dolorido por no
funcionarem como espera o usurio, aplicativos web, especialmente aqueles que
devem ser utilizados em plataformas distintas, tendem a fazer o mesmo.
Apenas para deixar claro, isso no uma crtica ao HTML, s CSS e ao JavaScript.
O acervo de tecnologias da web slido e est amadurecendo, e a atrao de
termos uma base de cdigo de multiplataforma ser imediatamente bvia para
voc como desenvolvedor. No entanto, para seus usurios, isso no to bvio. A
maioria dos argumentos apresentados em suporte ao uso de tecnologias web, ou
de outros frameworks no nativos, feita a partir da perspectiva do desenvolvedor.
Ainda que isso no os torne invlidos, voc deve analisar cuidadosamente esses
argumentos pela perspectiva do usurio, pois nenhum deles trata realmente da
principal considerao: a usabilidade.
Consumidores no compraro seu aplicativo na plataforma deles simplesmente
porque voc suporta outras plataformas; em vez disso, eles querem um aplicativo
que tenha o mesmo visual dos outros aplicativos da plataforma deles, que siga os
mesmos paradigmas de interface do restante dos aplicativos com que eles esto
acostumados e que esteja integrado a essa plataforma.
Se voc integrar seu aplicativo ao ambiente do iOS, zer uso das possibilidades
que o hardware oferece e se certicar de que sua interface de usurio est oti-
mizada para o dispositivo, a experincia de usurio ser muito melhor. Tudo
isso possvel utilizando tecnologias web, mas, na maior parte do tempo, ser
realmente difcil escrever aplicativos no nativos que funcionem bem em vrias
plataformas. ainda mais difcil fazer com que eles paream nativos em meia
dzia de plataformas distintas.
19 Captulo 1