Viso geral
Transforme as suas ideias para apps internos em realidade. Veja como aqui.
A sua empresa nica, assim como os seus usurios. H um mundo de possibilidades para responder as necessidades deles de apps inovadores para dispositivos mveis que iro mudar a forma como eles trabalham. Se voc como a maioria das equipes internas de desenvolvimento, tambm enfrenta limitaes. Sejam elas financeiras, organizacionais ou de recursos, concentre seu foco na oferta de apps que realmente atendam as necessidades da empresa. O iOS um timo veculo para a oferta desses apps. O desenvolvimento em iOS simples e altamente recompensador, permitindo que voc crie apps que ofeream benefcios imediatos para os seus usurios. Voc no precisa adotar processos dispendiosos e ocupar um grande nmero de recursos para fazer a diferena na sua empresa, embora esse processo exija concentrar seus esforos de uma forma diferente de um projeto habitual de desenvolvimento interno. Este guia ir ajudar voc a fazer isso. Ele analisa as melhores prticas para a criao de apps incrveis para os seus usurios, d dicas e apresenta recursos que ajudaro a organizar o seu projeto da forma mais eficiente possvel. Este guia est organizado nas quatro sees a seguir: PlanejamentoDefinio do seu projeto, coleta dos requisitos e planejamento do processo de desenvolvimento. DesignUse os conceitos do design da interface do iOS para ter certeza de que os seus apps internos iro agradar os usurios. DesenvolvimentoDesenvolva os seus apps internos e obtenha o mximo das ferramentas da Apple, como o iOS SDK. ImplantaoDistribua apps internos na empresa e defina o seu prprio servio de distribuio remota de apps. Vamos comear?
Exemplos. Procure se inspirar e ideias em exemplos de clientes e confira como outras empresas desenvolveram seus apps internamente para iPhone e iPad.
Tnhamos que descobrir uma forma de fazer atualizaes e mudanas rapidamente, por isso adotamos a abordagem hbrida. Reunimos elementos nativos da interface de usurio presentes no telefone com pginas web.
Giancarlo De Lio, Mt Sinai Hospital
Dicas rpidas. Obtenha informaes importantes, essenciais para o processo em um recurso de fcil acesso.
Links rpidos. Confira esses links de referncia rpida para saber mais sobre o desenvolvimento interno de apps em iOS.
Links rpidos
Perguntas mais frequentes sobre inscrio no programa http//developer.apple.com/support/ios/enrollment.html Perguntas mais frequentes sobre o Programa para Desenvolvedores de Apps Corporativos http//developer.apple.com/support/ios/enterprise.html
Viso geral
Planejamento
Por trs de um app fantstico tem um planejamento fantstico. importante que os envolvidos dentro da empresa estejam engajados com o objetivo do projeto e que eles participem ativamente da elaborao do plano. Quanto mais a equipe conseguir chegar a um equilbrio de trabalho durante todo o processo e entender as etapas necessrias para a execuo do plano, maiores sero as chances de criao de algo realmente impressionante. Como parte do plano, voc e a sua equipe devem explorar o seguinte: Descobrir os requisitos corporativos e dos usurios. Certifique-se que a sua soluo atenda os reais interesses da empresa. A soluo economiza tempo e/ou dinheiro, ajuda a fora de trabalho a ser mais produtiva ou responde ao requisito de fazer a empresa prosperar? Avalie os recursos e a infraestrutura existentes. Voc pode maximizar recursos valiosos redirecionando algo que voc j criou e us-lo para o ambiente mvel. Explore a facilidade de implantao. Colha primeiro os frutos que estiverem mais embaixo: Invista em projetos com retorno rpido, onde seja mais fcil e rpido demonstrar os resultados positivos do seu esforo. Lembrar-se sempre destes conceitos de planejamento ajudar a desenvolver o foco do seu projeto. Este captulo abordar as etapas necessrias para deixar o seu projeto organizado e pronto para entrar em ao.
Direcionamos as comunicaes do desenvolvedor para a fora de vendas. Participamos at de reunies de vendas, demos dicas e sugestes, entramos e fomos a reunies de vendas para ver exatamente o que eles precisavam e como eles usariam o app.
Dean Moore, Sunbelt Rentals
Pense em algumas tarefas simples que a maioria do seus usurios faz frequentemente e imagine como um app mvel poderia facilitar essas tarefas. Veja aqui alguns exemplos: Um app simples que permita que o funcionrio aprove uma um relatrio de despesas ou ordem de compra, mesmo em trnsito Uma lista dos telefones da empresa e mapa do campus que todos poderiam ter acesso Um localizador de sala de reunies que os funcionrios poderiam usar quando no estivessem nas suas mesas Um app simples de controle do tempo que poderia estar vinculado ao seu sistema de gerenciamento de tempo ou de faturamento
Voc possui sites internos que os seus funcionrios acessam diariamente? Eles poderiam ser transformados facilmente em apps para dispositivos mveis?
Ns simplesmente analisamos as diferentes linhas de produtos e nos perguntamos, O que seria interessante para os dispositivos mveis? Qual o objetivo principal? Quais seriamos maiores benefcios? Ns partimos desse ponto. Analisamos o nosso portflio de produtos e descobrimos o que seria mais indicado.
James Blomberg, General Electric
Cdigo
Liberao
Gerente de produto Entre o app, gerencia os requisitos e reconcilia as necessidades corporativas com as solues
Design
Verificao
Testes nos dispositivos Testes da interface de usurio automatizada Correo de problemas Reviso do design Orientao para os envolvidos
Arquiteto de experincia do usurio Responsvel pela estrutura do modelo de interao com o usurio e pelo fluxo do processo com o usurio
Arquiteto tcnico Responsvel pela infraestrutura, segurana e os modelos de acesso aos dados
Designer da interface do usurio Responsvel pelo projeto visual, pela parte grfica e identidade do app
Gerente de TI Responsvel pela implantao e pelo gerenciamento do ciclo de vida dos apps
Desenvolvimento terceirizado
Se voc no tiver recursos suficientes internamente, considere a possibilidade de terceirizar parte do trabalho de desenvolvimento. Os desenvolvedores terceirizados podem apresentar a voc um portflio do trabalho deles, o que pode trazer novas ideias. bvio que para ser bem sucedida, necessrio que a equipe terceirizada conhea o projeto a fundo tudo o que foi definido durante a fase de planejamento e interaja regularmente com voc e com a equipe interna. Apresente as suas necessidades e certifique-se de que os seus objetivos ficaro bem claros para eles. Consulte a definio do projeto e reveja cuidadosamente cada detalhe do seu projeto. No se esquea tambm de definir, desde o incio uma forma de comunicao clara e bidirecional e um processo para manter contato. importante definir o papel que o seu provedor terceirizado exercer, assim como aconteceu com os demais membros da sua equipe interna. Alinhe os papis e responsabilidades ao planejamento e cronograma do projeto de forma que voc comunique claramente por quais aspectos do seu projeto eles sero responsveis.
Requisitos Responsabilidades da equipe interna Responsabilidades do desenvolvedor Design Cdigo Verificao Liberao
Alguns parceiros terceirizados podem ajudar voc em todos os elementos do projeto, dos requisitos iniciais implantao final. Enquanto outros podem se concentrar apenas no cdigo do app. Seria interessante conversar sobre essas possibilidades e servios com o seu fornecedor terceirizado, independentemente do contrato que voc tem com eles. Isso ajuda a avaliar os pontos fortes do seu fornecedor e tambm a moldar o relacionamento entre vocs.
Utilizamos fornecedores externos em vrios elementos. Depende unicamente da necessidade do app. Caso haja necessidade de uma aparncia e ambientao muito especficas, conversamos com fornecedores que j fizeram coisas similares porque sabemos que eles j tm experincia no que desejamos. Dessa forma conseguimos oferecer um produto de alta qualidade tanto para a nossa equipe quanto para os clientes.
Todd Schofield, Standard Chartered Bank
3. Envio para a Apple . Assim que tiver enviado o seu cadastro, confira o seu status se registrando como desenvolvedor no Member Center http://developer.apple.com/membercenter. Como parte dessa etapa, a Apple analisar o app e entrar em contato com voc ou com o seu departamento jurdico, se necessrio. 4. Aceite o Acordo de Licena do Programa Corporativo. Para continuar o cadastro, necessrio aceitar os termos de licena do programa. Esse o momento para conferir os termos e compartilhe-os com o seu departamento jurdico. 5. Adquira o programa. Assim que tiver aceitado os termos, voc receber instrues sobre como adquirir o programa na Apple Online Store. Se quiser usar uma ordem de compra, entre em contato com a sua Apple Store local para ver as opes de compra disponveis. 6. Ative a sua adeso. Voc receber um comprovante do pedido depois de ter adquirido o programa. No prazo de 24 horas voc receber um e-mail de ativao da Apple com um cdigo para ativar a sua adeso. Uma vez ativada, voc ter acesso a todos os recursos do programa.
Agente
Administradores
Membros
Desenvolvimento
Recursos de aprendizado
Assim que tiver informado os nomes dos membros da sua equipe, acesse o iOS Dev Center em http://developer.apple.com/devcenter/ios onde voc encontrar uma grande variedade de recursos. Voc poder marc-los como favoritos ou fazer deles a sua pgina inicial para tudo relacionado ao processo de desenvolvimento. Veja aqui alguns dos timos recursos disponveis. Fruns Entre em contato com outros desenvolvedores de apps corporativos e compartilhe ideias e melhores prticas. sempre til contar com uma comunidade de desenvolvedores como voc e sua disposio. Biblioteca de referncia Uma enciclopdia, um livro texto e um programa de referncia em um lugar s. Uma lugar para voc pesquisar, com tpicos separados por categoria, com todas as informaes que voc precisa para criar os seus apps. Cdigo de amostra Use os exemplos para inspirar o desenvolvimento de apps incrveis, criados por voc. Se quiser voc pode copiar e colar o cdigo de exemplo diretamente no seu projeto. Guias de Primeiros Passos Se voc novato em desenvolvimento de iOS, esses guias oferecem sua equipe conceitos fundamentais e melhores prticas para o desenvolvimento em iOS.
Os exemplos em Apple.com realmente ajudam a ver melhor um recurso especfico como detalhamento, por exemplo, ou mapas, ou a integrao com um banco de dados SQL local.
Keith Debickes, JM Family Enterprises, Inc.
Links rpidos
Perguntas mais frequentes sobre adeso ao programa: http://developer.apple.com/support/ios/enrollment.html Perguntas mais frequentes sobre o Programa para Desenvolvedores de Apps Corporativos em iOS: http://developer.apple.com/support/ios/enterprise.html
Mais frente
Quando concluir o processo de planejamento, consulte a lista de verificao de planejamento no incio desde captulo. Se voc concluiu todas as etapas, bem provvel que voc tenha o suporte dos executivos e da sua equipe e um planejamento claro do projeto para que todos possam seguir. Sua equipe estar bem preparada para a prxima fase do processo: conhecer as melhores prticas de design e desenvolvimento e entender os conceitos bsicos de desenvolvimento em iOS.
10
Design
O design muito importante. muito fcil criar um app bsico para iPhone e iPad. Mas apps mais elaborados demandam um pouco mais de trabalho. O que os apps mais bem sucedidos tm de to atrativos? Eles tm um design atrativo e fazem excelente uso das cores e do udio. So simples de usar e funcionam como o previsto. Eles envolvem o usurio e fazem com que o usurio sempre retorne a eles. Dando bastante ateno ao design na criao de um app novo ou aprimorando um app existente, voc melhora o seu apelo, promove uma experincia mais envolvente para o usurio e faz com que as pessoas gostem de usar o seu app. Este captulo descreve algumas estratgias que podem ser usadas para refinar a sua ideia, analisar as opes de design e determinar o design de um app que deixar os usurios mais produtivos.
Uma das formas de garantir a consistncia dos nossos apps seguir as Diretrizes sobre Interface Humana da Apple. Esse material realmente nos ajuda na consistncia dos apps que desenvolvemos. H vrios estilos diferentes de design disposio e sempre nos certificamos de ter um tema consistente permeando todos eles. muito importante para ns seguir as Diretrizes sobre Interface Humana.
Todd Schofield, Standard Chartered Bank
11
Simplifique
Muitas vezes os apps corporativos desenvolvidos internamente sero derivados de um aplicativo j existente para desktop ou sero baseados em sistemas que os usurios j utilizam. muito fcil cair na armadilha de tentar levar todos os recursos e funes do aplicativo para desktop para o dispositivo mvel. Isso quase nunca d certo e normalmente o usurio no tem a mesma experincia no dispositivo mvel. Lembre-se que os usurios realizam as tarefas de forma totalmente diferente nos dispositivos mveis e que a realizao de algumas tarefas nem sempre to prtica em um dispositivo mvel. O dispositivo mvel mais indicado para tarefas menores, por isso to importante filtrar continuamente os recursos na fase de definio do aplicativo, para refinar o seu app. Veja algumas perguntas que voc pode se fazer sobre os elementos da interface do usurio do seu app e que ajudaro a simplificar o design: importante que esse elemento aparea na tela? Esse elemento viabiliza o acesso a um recurso importante? Ele utilizado frequentemente? Quase sempre? O usurio precisa desse elemento para fazer uma seleo? Com base no fluxo do app, importante colocar esse elemento na tela agora? Caso a resposta a alguma dessas perguntas seja no, bem provvel que voc possa ignorar o elemento. Talvez voc possa considerar a combinao da funcionalidade com alguma outra coisa. Os usurios de iPhone e iPad esto habituados com a aparncia e o comportamento dos apps que acompanham esses dispositivos. Voc no precisa copiar cada detalhe dos apps integrados, mas interessante entender os padres de design que eles seguem e pensar como aplicar esses padres aos apps que voc criar, com um design simples, funcional e fcil de usar. Analise os comandos comuns desses apps, os eventos de toque como esticar e zoom, as animaes e comece a pensar como voc poderia aplicar esses conceitos ao seu prprio app de forma consistente. Dicas rpidas. Apps compactos
Os apps simples, rpidos e bem executados iro gerar demanda interna e minimizar o escopo e o investimento. Esses apps compactos fazem a festa. Os usurios iro criar as suas prprias solues , dando assim muito mais flexibilidade fora de trabalho.
Nossa filosofia que os apps internos devem ser to elegantes e bonitos quanto o melhor app comercial. Por isso quando comeamos a pensar no desenho da interface do usurio, no queramos apenas resolver um mero problema de funcionalidade, queramos resolver issode uma forma que fosse bastante prtica.
Mark McWilliams, Razorfish
12
Priorizar
Quando um app em iOS define e mantm o foco na sua funo principal, ele fica agradvel e prtico de usar. Cada parte do seu app deve ser ajustada para a sua finalidade principal. Criar uma lista de objetos, tarefas e conceitose depois organizar tudo com base na relevncia para a finalidade principal do seu app ajudar a apresentar uma interface de usurio bem organizada e com foco. Essa etapa tambm ajudar voc a pensar no fluxo de trabalho ou processo de interao do seu app, que informar as decises sobre o design da interface do usurio.
Tarefas Agenda
Criar Editar Busca
Conceitos Busca
Calendrios Filtrar
Quando tiver criado essas listas, voc comear a perceber alguns relacionamentos entre os itens dentro de cada categoria. Isso ajudar voc a agrupar objetos, tarefas e conceitos relacionados em uma hierarquia que poder simplificar a forma como eles sero apresentados para o usurio.
13
Otimize
O bom design um processo iterativo. Quanto mais voc aplicar os conceitos de design da interface nos estgios iniciais do processo (antes de gravar qualquer cdigo), melhor sero os resultados finais. muito importante otimizar o design para o seu pblico-alvo e dispositivo alvo. Os apps incrveis compensam os conceitos de interao do usurio que iro variar de acordo com as caractersticas nicas do dispositivo. Otimize o seu app para refinar e reiterar esses conceitos, de forma que o resultado final ir satisfazer os seus usurios.
Seja iterativo
Antes de dar incio criao bem sucedida de um app, voc precisa de um conjunto bem organizado de esquemas. Voc pode comear com alguns esquemas iniciais e refinar as ideias com o passar do tempo. A cada passo voc descobrir mais sobre como o seu usurio poder interagir com o app e novas ideias que poderiam ser incorporadas tudo sem gastar tempo, dinheiro nem recursos no desenvolvimento em si. Considere desenhar ou esquematizar o fluxo completo do seu app, do incio ao fim, para obter uma ambientao completa da experincia do usurio e da funcionalidade que o seu projeto ir oferecer.
14
O iPad definitivamente nos deu mais flexibilidade, e vamos tirar proveito disso. Isso foi fundamental para ns. No foi simplesmente algo do tipo vamos aumentar tudo trs vezes agora que podemos contar com muito mais pixels mas, vamos nos certificar que estamos usando esse espao devidamente . Se vamos passar uma coisa do iPhone para o iPad, vamos repensar o processo. Provavelmente 60% da funcionalidade principal a mesma, mas o que mais ns podemos fazer? Como podemos deixar o app mais prtico, como podemos usar menos cliques ou menos tela para fazer as coisas?
James Blomberg, General Electric
Apps Universais
O iOS SDK suporta o desenvolvimento de aplicativos Universais. Um app Universal otimizado para rodar em todos os dispositivos com iOS. Basicamente um app para iPhone e um app para iPad criado como um nico binrio. Um app Universal consegue determinar em qual dispositivo ele est sendo executado e viabilizar a melhor experincia para aquele dispositivo. Os apps Universais bem desenvolvidos usam os recursos exclusivos de hardware do dispositivo, oferecem a opo certa de elementos de interface de usurio e usam apenas a funcionalidade suportada por aquele dispositivo. Ao criar um app Universal app para iOS, importante pensar como separar a interao do usurio do cdigo do aplicativo adjacente. As classes e APIs do iOS SDK usam um paradigma MVC (model-viewcontroller) que promove uma separao clara dos dados e da lgica do seu app dos modos de visualizao que sero usados para apresentar tais dados. Por exemplo, a criao da sua interface de usurio com a ajuda do Interface Builder d ao seu projeto esse tipo de flexibilidade (consulte o prximo captulo). O primeiro passo na criao de um app Universal criar desenhos da interface do usurio para cada tamanhoum desenho para os dispositivos iPad e outro para os dispositivos iPhone/iPod touch. Grande parte do design ser influenciada pelos recursos que sero apresentados em cada um dos diferentes tamanhos. Pense como os usurios iro utilizar os movimentos e a orientao de forma diferente. Considere cada recurso de hardware de cada dispositivo, assim como a cmera. As diferenas em como os seus usurios usam o dispositivo informaro qual ser o seu enfoque e design consistente de cada dispositivo e onde voc poder precisar de codificao condicional.
15
Acessibilidade
importante em um ambiente corporativo viabilizar acesso igual a todas as ferramentas e tecnologia mvel para todos os usurios. O iOS oferece vrios recursos que deixam um dispositivo acessvel e fcil para que todos possam usar. Entretanto tambm importante otimizar os seus apps internos para acessibilidade para que os usurios com necessidades especiais visuais, auditivas e fsicas possam usar e usufruir o seu app. O iOS traz uma interface de programao de Interface de Usurio de Acessibilidade, uma API leve que ajuda um app a oferecer todas as informaes que o VoiceOver precisa para descrever a interface para que pessoas com necessidades visuais especiais possam usar o app. A interface de programao de Interface de Usurio de Acessibilidade permite agregar uma camada extra de funcionalidade que no altera a aparncia do seu app nem interfere na sua lgica principal. Isso significa que quando voc usa comandos e modos de visualizao padro, grande parte do trabalho de deixar o seu app acessvel feito no seu lugar. Dependendo do nvel de personalizao do seu app, deix-lo acessvel pode ser to simples quando fornecer descries precisas e teis dos elementos da interface do usurio. O iOS SDK tambm oferece essas ferramentas que ajudam voc a deixar o seu app acessvel: Uma janela inspetor do Interface Builder que facilita a colocao de informaes descritivas de acessibilidade durante a criao dos arquivos nib. O Accessibility Inspector, que mostra as informaes de acessibilidade integradas interface de usurio do seu app e que ainda permite que voc verifique essas informaes quando roda o seu app no iOS Simulator. Alm disso voc pode usar o prprio VoiceOver para testar a acessibilidade do seu app. Dicas rpidas. Agregando suporte ao VoiceOver
A coisa mais certa a fazer tornar o seu app em iOS acessvel para usurios de VoiceOver. Com isso voc tambm responder s diretrizes de acessibilidade elaboradas por vrios organismos governamentais. Para certificar-se que os usurios de VoiceOver podero usar o seu app, no ser necessrio fazer qualquer tipo de modificao no design da sua interface. Quando voc usa elementos padro, praticamente no h trabalho extra. Pode ser que seja necessrio fornecer informaes descritivas sobre os modos de visualizao e comandos da sua interface de usurio. Quanto mais personalizada for a sua interface de usurio, mais informaes personalizadas voc precisar fornecer para que o VoiceOver possa descrever o app com preciso.
Mais frente
Tendo como base as melhores prticas de design de interface de usurio, voc estar pronto para passar para a fase de desenvolvimento do seu projeto. Mas como voc pode se lembrar do captulo sobre planejamento, o design um processo iterativo que continua durante todo o ciclo de vida de desenvolvimento do app. A execuo de um bom design com foco na experincia do usurio deve ser uma estratgia consciente, mesmo quando a sua equipe de desenvolvimento comea a mexer no cdigo. O conjunto de ferramentas e os conceitos discutidos no prximo captulo ajudaro voc a fazer exatamente issodesenvolver um cdigo slido e, ao mesmo tempo, permitir que voc oferea apps muito bem feitos para os seus usurios.
16
Desenvolvimento
Com o iOS voc oferece contedo e informaes de novas formas, simples, mas poderosas, ajudando os seus funcionrios a serem ainda mais produtivos. Com o iOS SDK, a sua equipe de desenvolvimento poder criar apps usando as mesmas ferramentas que os engenheiros da Apple utilizam para criar o OS e os apps que vm em cada iPhone e iPad. Isso permite criar apps que se apresentam, operam e respondem aos seus usurios de forma elegante e com a mxima eficincia. Usando as ferramentas do iOS voc usa estruturas de alto nvel que ajudam a aproveitar todas as vantagens da plataforma. Ns iremos explorar as principais APIs para desenvolvimento interno e dar a voc ideias para integrao desses recursos aos seus apps. Discutiremos tambm como aproveitar as tecnologias web como HTML5, CSS e JavaScript. Com os recursos certos de segurana integrados na sua soluo, essas tecnologias operam juntas para a criao de um alicerce poderoso e seguro que suporte as suas necessidades corporativas. Finalmente, antes que voc possa considerar o seu app pronto para os usurios, voc ter que test-lo e depur-lo. Voc tambm ir validar o desempenho do seu app em diferentes dispositivos. Ns discutiremos como as ferramentas do iOS ajudam voc a realizar essas tarefas e sugerir melhores prticas para garantir que o seu app funcione da forma que voc pretende.
Desenvolvimento nativo
Quando se trata de desenvolvimento interno, o importante a execuo da viso do design do seu app, aproveitando ao mximo os recursos do dispositivo e tudo isso em um ambiente organizado e eficiente. O iOS SDK vem com o Xcode, o IDE para codificao, criao e depurao do seu app; Interface Builder para a criao de uma interface de usurio; Instruments para analisar o comportamento e o desempenho e dezenas de outras ferramentas. O Xcode a central da sua experincia de desenvolvimento. O Xcode oferece finalizao de cdigo, anlise esttica em tempo real e depurao imediata no dispositivo. O Interface Builder facilita a criao de um prottipo do seu app. Arraste elementos para criar uma interface completa de usurio, sem necessidade de qualquer cdigo. No Xcode 4, o Interface Builder est integrado ao IDE do Xcode. O Instruments coleta e apresenta os dados como uso do disco, da memria e da CPU em tempo real, facilitando a identificao de reas problemticas. O Simulator roda o seu app praticamente da mesma forma que um dispositivo iOS faria, para que voc possa verificar e testar o seu cdigo diretamente no ambiente do desktop.
Minha equipe diz que o SDK e o Xcode so ferramentas fantsticas de programao e muito fceis de usar, mesmo para desenvolvedores que no tem conhecimento de Mac.
Hans-Christian Pahlig, Axel Springer
17
O Xcode a central da sua experincia de desenvolvimento, oferecendo finalizao de cdigo, anlise esttica em tempo real e depurao imediata no dispositivo.
18
Integrao de dados compartilhada. O iOS oferece opes poderosas de conectividade para compartilhamento de informaes entre apps. Usando sintaxe em URL, voc consegue acessar dados da web, assim como iniciar aes em outros apps instalados como o Mail, Calendrio, Contatos e outros. Seu prprio app pode adotar um esquema exclusivo de URL, permitindo que qualquer aplicativo inicie o seu app. Mail. O iOS permite apresentar uma interface de composio de Mail ou SMS padro a partir do seu app. Em ambos os casos, voc pode pr-configurar por programa a mensagem com os destinatrios e contedo, que pode ser editado pelo usurio antes do envio. O correio e as mensagens SMS enviadas so coordenados automaticamente nas filas do Mail e do Mensagens do sistema. Contatos. Com APIs do Address Book para dados compartilhados, o seu app pode criar um novo contato ou obter informaes de um contato j existente. Acessando a lista de contatos integrada, o seu app pode habilitar um usurio e associar um contato ou endereo comercial a um processo ou tarefa do aplicativo. Calendrios. O Event Kit permite que apps em iOS acessem informaes sobre eventos que constem no banco de dados do Calendrio de um usurio. Busque eventos por faixa de data ou identificador exclusivo, receba notificaes quando os registros do evento sofrerem alguma alterao e permita que os usurios criem e editem eventos para qualquer calendrio. As alteraes feitas nos eventos do banco de dados do Calendrio de um usurio com o Event Kit so sincronizadas automaticamente com o calendrio devido, inclusive com calendrios corporativos hospedados em servidores CalDAV e Exchange. Fotos. O UIKit viabiliza o acesso biblioteca de fotos do usurio. A interface para escolha de fotos traz comandos para navegao pela biblioteca de fotos do usurio e seleo de uma imagem que ser enviada para o seu app. Voc tambm tem a opo de habilitar comandos de edio para o usurio, para que o usurio possa dar uma panormica e recortar a imagem recebida. Outra opo oferecer uma interface para a cmera, para que as fotos tiradas possam ser carregadas diretamente no seu app. udio e vdeo. Tecnologias multimdia do iOS SDK permitem implantar recursos sofisticados de udio e vdeo no seu app. A estrutura Media Player, que suporta reproduo de arquivos de vdeo em tela cheia e reproduo de HTTP ao vivo, facilita o uso de servidores web padro para a reproduo de contedo em udio e vdeo de alta qualidade e remotamente. Seu app tambm pode aproveitar os benefcios de Core Audio para gerar, gravar, mixar, processar e reproduzir udio no seu app. Use Core Animation para agregar movimento suave e feedback dinmico sua interface de usurio. Se preferir, use OpenGL ES para grfico em 2D ou 3D de alto desempenho.
19
O Interface Builder, integrado diretamente ao IDE do Xcode 4, simplifica a criao de um prottipo do seu app. Arraste elementos para criar uma interface completa de usurio, sem necessidade de qualquer cdigo.
Core Animation
Desenvolvimento web
Apps web uma categoria totalmente nova de aplicativos para dispositivos mveis esto abrindo inmeras possibilidades para o mundo corporativo. Os apps web so pginas web personalizadas que aproveitam as vantagens de HTML, CSS e JavaScript para oferta de uma experincia realmente inigualvel para os usurios de iOS. Como voc cria apps usando HTML, voc consegue desenvolver apps web em qualquer ambiente de desenvolvimento web. Voc s precisa hospedar uma pgina web para oferecer um app web. Voc consegue gerenciar as mudanas e atualizaes a partir do servidor que armazena a pgina. Vamos dar uma olhada rpida nas tecnologias utilizadas para criar apps web para dispositivos com iOS. HTML5 a especificao HTML mais recente, o principal padro que determina como o contedo web interage com os navegadores modernos. HTML5 permite que os desenvolvedores integrem mdia rica diretamente em pginas web padro, reduzindo o tempo de desenvolvimento e oferecendo rica interatividade para a criao de apps web. As animaes CSS3 e os efeitos visuais permitem criar interfaces grficas de usurio sofisticadas para os apps web. Os efeitos visuais disponveis vo desde degrads, mscaras e reflexos at efeitos 2D e 3D mais complexos. Quando esses efeitos visuais so combinados com eventos de toque, possvel criar apps web que interagem de forma bem semelhante aos apps nativos do iPhone e iPad. O WebKit um mecanismo aberto de navegador. Viabilizando o Safari no iPhone e no iPad, o WebKit simplifica o desenvolvimento web e acelera a inovao. Um conjunto de ferramentas de cdigo aberto, WebKit gratuito para qualquer pessoa. Oferece um mecanismo HTML para os apps web no iPhone e no iPad. Dashcode faz parte do iOS SDK. Seu ambiente integrado permite compor, codificar e at mesmo testar apps web. O Dashcode tambm oferece prticos modelos para dar vida ao seu app web. O Safari 5 para Mac e Windows traz um poderoso conjunto de ferramentas que facilita a depurao, calibragem e otimizao de apps web para melhor desempenho e compatibilidade. Para ter acesso a essas ferramentas, v at o menu Develop em Preferncias do Safari no seu Mac ou PC.
O Simulator roda o seu app praticamente da mesma forma que um dispositivo com iOS, para que voc possa verificar e testar o seu cdigo diretamente do seu ambiente desktop. Como o Simulator vem com o navegador Safari para iOS, voc consegue testar e verificar os seus apps web antes da implantao.
Uma das coisas que conseguimos fazer no SDK ir ao ponto certo e fazer as mudanas necessrias rapidamente. uma coisa que pode ser feita rapidamente na tela. Depois voc usa o Simulator onde poder ver tudo praticamente na hora. E para ns possvel ter uma resposta direta.
Todd Schofield, Standard Chartered Bank
20
Tnhamos que descobrir uma forma de fazer atualizaes e mudanas rapidamente, por isso adotamos a abordagem hbrida. Reunimos elementos nativos da interface de usurio presentes no telefone com pginas web.
Giancarlo De Lio, Mt. Sinai Hospital
Servios web
Com o iOS SDK, voc trabalha com dados XML para comunicao entre o aplicativo cliente e o servidor. Os arquivos XML tm um formato leve e estruturado que o seu app pode ler e gravar facilmente. Eles se adaptam perfeitamente ao sistema de arquivos do iOS. Se voc estiver usando SOAP, poder criar e analisar as suas prprias transaes de dados, ou usar bibliotecas de terceiros como a gSOAP ou Axis2. Se voc estiver implantando REST, poder integrar XML diretamente no seu app para melhorar o desempenho. Vrios apps em iOS usam JSON para intercmbio leve dos dados e bibliotecas de terceiros como a estrutura JSON. Dicas rpidas. Web View
Para integrar contedo web basta incluir um objeto UIWeb View no seu app nativo, anex-lo a uma janela e envi-lo com uma solicitao para carregar contedo web. Essa classe tambm pode ser usada para se mover para a frente e para trs no histrico das pginas web. possvel at definir algumas propriedades de contedo web por programa.
Rede
O iOS oferece uma grande variedade de tecnologias de rede modernas, prticas e sofisticadas. BSD Sockets a principal interface de programao de rede do iOS; todas as estruturas de nvel mais elevados se baseiam nela. uma tima opo para quem deseja melhor desempenho e flexibilidade. Como BSD o padro de fato para programao de rede UNIX, normalmente a portabilidade de cdigo de rede de outras plataformas bem mais fcil. O Bonjour o protocolo poderoso da Apple que facilita a localizao de sistemas e servios em uma rede local, automaticamente e sem necessidade de configurao trabalhosa. Seu app tem acesso a esses recursos via estruturas de alto nvel que facilitam a conexo, apresentao e interao com a informaes, onde necessrio, em qualquer parte do mundo.
21
Armazenamento local
O iOS traz o Core Data e o SQLite que ajudam o seu app a gerenciar e a interagir com os dados armazenados no prprio dispositivo. Core Data. A estrutura Core Data compreende solues generalizadas e automatizadas para tarefas comuns associadas ao ciclo de vida dos objetos e gerenciamento grfico do objeto, inclusive persistncia. Core Data uma soluo geral para gerenciamento de dados desenvolvida para responder s necessidades de modelos de dados de todos os tipos de aplicativos, pequenos e grandes. Voc consegue definir o modelo de dados dos seus apps rapidamente e graficamente e acess-lo facilmente a partir do cdigo. Essa soluo fornece uma infraestrutura para lidar com funcionalidades comuns como, por exemplo, salvar, restaurar, desfazer e refazer, permitindo que voc fique apenas com a tarefa de colocar inovaes no seu app. Como Core Data utiliza a biblioteca de dados integrada do SQLite, voc no precisa instalar um sistema de banco de dados a parte. SQLite. O iOS traz uma conhecida biblioteca SQLite, um mecanismo de banco de dados relacional leve, mas poderoso, que se integra facilmente a um app. Utilizado em inmeros apps e em vrias plataformas, o SQLite considerado o padro de mercado de fato em programao de banco de dados SQL leve. Diferentemente da estrutura Core Data, orientada a objetos, SQLite usa uma API de processo com foco em SQL para manipulao direta das tabelas de dados. Voc tambm pode usar SQLite em um app web com JavaScript. Exemplo: Servios web centralizados
Uma excelente forma de simplificar o seu desenvolvimento em back-end centralizar os servios web, principalmente se o seu app precisar conversar com vrios sistemas back-office. Por exemplo, a Sunbelt Rentals usou os servidores de aplicativos .Net para gravar scripts capazes de invocar procedimentos armazenados em sistemas legados AS/400 e em bancos de dados CRM da Microsoft. Assim eles conseguiram apresentar os dados recuperados por.Net via XML, para que pudessem ser utilizados facilmente pelo app para dispositivos mveis
AS/400
Servidores MS SQL
MS CRM
A segurana um fator fundamental na nossa deciso para desenvolvimento de um aplicativo para iPhone. O iPhone nos ofereceu segurana HTTPS, cadeia de chaves para manter determinadas coisas confidenciais e ainda conseguimos codificar dados.
Keith DeBickes, JM Family
22
Apps
Servios de segurana
Servios de cadeia de chaves Certificado, chave e confiana Servios Servios de randomizao
Core OS
LibSystem CommonCyrpto
Voc pode compartilhar itens da cadeia de chaves com vrios apps O compartilhamento de itens facilita que apps do mesmo sute de apps operem entre si tranquilamente. Por exemplo, voc poderia usar esse recurso para compartilhar senhas de usurio e outros elementos que poderiam, de outra forma, necessitar informaes do usurio a cada aplicativo. O acesso a itens compartilhados em tempo de execuo envolve o uso da interface de programao Keychain Services com os grupos de acesso definidos durante a fase de desenvolvimento. Para obter mais informaes sobre como acessar a cadeia de chaves, consulte o Guia de Programao de Guia de Programao de Keychain Services no Portal do Desenvolvedor em iOS.
Arquitetura
As APIs de segurana do iOS localizam-se na camada Core Services do sistema operacional e se baseiam em servios na camada subjacente, Core OS (kernel), do sistema operacional. Os apps chamam as APIs dos servios de segurana diretamente, em vez de passar pelas camadas Cocoa Touch e Media. Os apps de rede tambm podem acessar as funes de rede segura via API CF Network, localizada tambm na camada Core Services. CFNetwork uma API C de alto nvel que facilita a criao, envio e recebimento de mensagens HTTP serializadas. Como CFNetwork fica na parte superior de Secure Transport, possvel codificar o fluxo de dados usando qualquer uma das diferentes verses dos protocolos SSL ou TLS.
Segurana da rede
Sem necessidade de qualquer codificao, o iOS suporta servios VPN, permitindo que os apps internos se comuniquem com as redes corporativas com segurana. Os departamentos de TI das empresas podem configurar os ajustes VPN internos para IPSec, L2TP, PPTP, ou instruir os usurios para baixar os apps cliente VPN da Juniper, Cisco ou da F5 SSL da App Store. Para as configuraes que usa autenticao por certificado, o iOS oferece VPN On Demand. VPN On Demand estabelece uma conexo automaticamente quando um app acessa domnios predefinidos, oferecendo assim conectividade tranquila para os apps internos. Para os apps que precisam de acesso Wi-Fi, o iOS suporta WPA2 Enterprise Wi-Fi com autenticao 802.1X. O iOS tambm suporta mtodos padro de autenticao como os certificados digitais tokens de segurana como Secure ID e CRYPTOCard e autenticao por senha.
23
Autenticao segura
O iOS oferece uma cadeia de chaves segura e codificada para armazenamento de identidades digitais, nomes de usurios e senhas. O sistema operacional particiona os dados da cadeia de chaves para que as credenciais armazenadas pelos apps de terceiros no possam ser acessadas por apps com uma identidade diferente. Isso permite que o iOS proteja as credenciais de autenticao em todos os apps e servios dentro da empresa. No iOS, Keychain Services confere a assinatura de um app antes de conceder o acesso a uma cadeia de chaves, cuidando de todo o acesso cadeia de chaves sem interao do usurio. Seus apps internos podem interagir com a cadeia de chaves via API de Keychain Services.
Testes e validao
Os testes de validao de desempenho, de otimizao da interface de usurio, da rede e de usabilidade devem fazer parte integrante do processo contnuo de desenvolvimento. Na verdade, o conselho teste desde o incio e sempre fundamental para um projeto de desenvolvimento de app em iOS bem sucedido. Voc garante que o design e o cdigo do seu app esto no caminho certo com a ajuda de vrios mtodos de testes desde o incio do projeto e validao. Veja um resumo das ferramentas de teste para iOS que podem ser utilizadas para anlise e depurao. Anlise esttica. Identifique bugs no cdigo at mesmo antes de rodar o app com a ajuda do analisador esttico Xcode integrado que testa milhares de caminhos de cdigo possveis em poucos segundos, reportando possveis bugs que poderiam ficar ocultos ou praticamente impossveis de replicar. Depurao em tempo real no dispositivo. Prepare o seu dispositivo para usar o depurador grfico Xcode ou colete dados sobre desempenho em tempo real no modo de visualizao de linha do tempo do Instruments. Essas ferramentas poderosas de otimizao permitem identificar e responder rapidamente a qualquer problema de desempenho. Voc poder ver valores variveis passando o mouse.
Planejamento Design Desenvolvimento Implantao
Temos single sign-on em todos os apps e listas de controle de acesso nos confidenciais. Ou seja, mesmo que voc baixe um app, por causa do single sign-on, ele passar um dado para nosso aplicativo e faremos uma verificao para conferir se voc tem acesso. Se tiver, timo, caso contrrio, voc no conseguir abri-lo.
James Blomberg, General Electric
24
Instruments. O aplicativo Instruments uma ferramenta poderosa de avaliao de desempenho que permite conferir o seu cdigo durante a execuo e coletar mtricas importantes sobre o que estiver fazendo. Voc pode ver e analisar os dados coletados pelo Instruments em tempo real, ou salv-los e analis-los posteriormente. Gravao de dados. Diga para o Instruments qual app deve ser analisado e quais instrumentos devem ser usados. Clique no grande boto vermelho para iniciar o processo de registro. Os dados so coletados e armazenados para anlise mais detalhada. Comparao visual. medida em que os dados so registrados e apresentados, fica mais fcil ver os relacionamentos entre os diferentes tipos de dados coletados, bem como os mesmos dados coletados nas diversas execues. Detalhamento. Verifique os picos de dados no grfico para saber que cdigo est sendo executado no pico e depois passe facilmente para o Xcode para solucionar o problema. Reproduo. Faa um teste simulado registrando a interao do usurio com o seu app e reproduza a gravao para ver como as mudanas no cdigo afetam o desempenho. Teste automatizado de interface do usurio. O instrumento de automao integrado opera a partir de scripts (em JavaScript) que voc fornece para orientar a simulao dos eventos no seu app. Esses eventos sintticos so gerados com a ajuda de interfaces de acessibilidade integradas ao iOS. Voc pode usar esse instrumento para melhorar o seu processo de teste e conferir os elementos da interface de usurio do seu app enquanto ele estiver rodando em um dispositivo conectado.
Instruments coleta e apresenta dados em tempo real como o uso do disco, da memria e da CPU, facilitando a identificao de reas problemticas.
Mais frente
Como foi discutido durante todo este captulo, as ferramentas e recursos fornecidos no iOS SDK permitem que voc desenvolva rapidamente apps inovadores que aproveitam todos os recursos tanto do iOS como do dispositivo. Alm disso, com o iOS SDK, os seus apps esto sempre prontos para implantao em um instante. Na verdade, muitas das equipes internas de desenvolvimento adotam um enfoque iterativo com relao ao processo de desenvolvimento como um todo, criando e implantando apps frequentemente durante todo o ciclo de vida do projeto. Com validao e testes integrados e um modelo de segurana que protege os seus dados corporativos, voc pode implantar os seus apps para qualquer nmero de usurios e grupos de qualquer tamanho. O prximo captulo ir orientar voc passo a passo pelo processo de distribuio do app e ajudar voc a elaborar uma estratgia que atenda aos requisitos especficos da sua empresa.
O Static Analyzer uma ferramenta de valor inestimvel para ns. Consegue identificar problemas sem que praticamente tenhamos que rodar o app. A ferramenta Static Analysis conseguiu localizar imediatamente algo que poderia ter nos custado semanas ou meses de depurao, ou coisas que talvez nunca encontrssemos.
Mark McWilliams, Razorfish
25
Implantao
Uma vez concludas as etapas de desenvolvimento e teste do cdigo do seu app code, h algumas outras tarefas importantes que precisam ser feitas antes que ele esteja pronto para os usurios. Para preparar o seu app para distribuio, necessrio obter um certificado de distribuio para ambiente corporativo concedido pela Apple e validar o seu cdigo em Xcode. Depois que o seu projeto em Xcode estiver preparado para implantao, voc poder hospedar o seu app desenvolvido internamente, com segurana, no seu prprio servidor web e distribu-lo diretamente para os usurios via Wi-Fi e 3G. Este captulo apresenta os processos para implantao e gerenciamento do ciclo de vida do seu app.
26
importante observar que um perfil de aprovisionamento no um mecanismo de segurana. Embora ele fornea autorizao bsica para que um app seja executado, ele no oferece autenticao do usurio nem proteo extra dos dados utilizados ou acessados no seu app. O mais aconselhvel proteger o seu app com meios internos. Como mencionado no captulo Desenvolvimento deste guia, voc pode agregar uma grande variedade de recursos de segurana e estruturas do iOS ao seu app desenvolvido internamente. Por exemplo, uma das melhores formas de proteger o seu app interno criar uma biblioteca padro para autenticao de usurios. 3. Valide e crie em Xcode. Depois de instalados o seu certificado de distribuio e o perfil de aprovisionamento, voc precisar validar o seu cdigo em Xcode. Para obter mais informaes sobre o processo de assinatura de cdigo, siga as instrues passo-a-passo no Developer Provisioning Portal. Assim que o app for validado, o Xcode criar um pacote para que a distribuio no ambiente corporativo ocorra como um processo simples de exportao. Use o Xcode Organizer para compartilhar um projeto que foi adicionado ao seu arquivo e selecione as opes para distribuio no ambiente corporativo. Esse processo cria automaticamente um pacote contendo o app, o perfil de aprovisionamento e outros elementos necessrios para distribuio remota.
Distribuio
Uma vez finalizada a criao do seu app, a distribuio pode ocorrer hospedando o seu app em um servidor web simples criado internamente, configurando o seu prprio catlogo de apps internos, ou usando uma soluo de terceiros para gerenciamento de dispositivos mveis. A soluo ideal depende dos seus requisitos especficos, da sua infraestrutura e do nvel de gerenciamento de apps que voc precisa.
27
Gerenciando as atualizaes
Os apps desenvolvidos e distribudos internamente no so atualizados automaticamente. necessrio comunicar os funcionrios sobre as atualizaes e orient-los sobre como instalar o app. Se o identificador do aplicativo associado ao app no Xcode no mudar, ele ir reconhecer o app como um app j existente e instalar a atualizao, mantendo os dados e preferncias do app armazenados localmente. Para maior praticidade, considere a possibilidade de desenvolver uma funo dentro do app que entre em contato com o servidor em busca de atualizaes durante a execuo. Na distribuio remota de apps possvel fornecer um link para o app atualizado, diretamente dentro do seu app. Se voc criar um aplicativo de catlogo de apps nativos, pense na possibilidade de usar Servios de Notificao Push com um alerta ou cone que permita que o usurio saiba quando houver alguma atualizao disponvel.
28
gerenciado a capacidade de ter controle sobre as verses e saber quais usurios esto trabalhando com qual verso do seu app. Vrias solues para gerenciamento de dispositivos tambm oferecem servios de Notificaes Push que permitem que os usurios saibam quando h apps novos ou atualizaes disponveis. E as solues para gerenciamento de dispositivos mveis conseguem fazer isso. Configuraes de rede e polticas de segurana - uma tima forma de configurar diretamente os dispositivos no momento em que um app instalado (por exemplo, certificados Wi-Fi ou VPN). Para obter mais informaes sobre solues para gerenciamento de dispositivos mveis, acesse www.apple.com/iphone/business/integration/mdm.
Mais frente
Mas implantar e divulgar o seu app ainda no o fim do processo na verdade, apenas o comeo. A cada app de sucesso para dispositivos mveis, seus usurios iro exigir outros mais. Este guia apenas um ponto de partida para a sua equipe de desenvolvimento. Alm deste guia, h uma grande variedade de recursos didticos, melhores prticas, dicas e tcnicas disposio como parte do iOS Developer Program. Entre em contato com outras pessoas atravs dos fruns para desenvolvedores ou baixe os vdeos para desenvolvedores para conhecer melhor os recursos avanados da plataforma. As possibilidades so ilimitadas.
Planejamento Design Desenvolvimento Implantao 29
Vdeos WWDC
Para assistir os engenheiros da Apple e especialistas discutirem como inovar com a ajuda das tecnologias mais recentes da Apple, acesse: http://developer.apple.com/videos/wwdc/2010/
Pragmatic Studio
Esse curso prtico de quatro dias ensina como criar apps em iOS repletos de recursos. Para saber mais acesse: http://pragmaticstudio.com/iphone/
Sobre Objects
About Objects
I Saiba mais sobre desenvolvimento de apps em iOS com turmas menores e cursos mais individualizados. Para ver uma lista completa dos custos disponveis acesse: www.aboutobjects.com
2011 Apple Inc.Todos os direitos reservados. Apple, o logotipo da Apple, Bonjour, Cocoa Touch, Dashcode, iMac, Instruments, iPad, iPhone, iPod, iPod touch, iTunes, o logo do iTunes, Keychain, Mac, MacBook, MacBook Air, Safari e Xcode so marcas comerciais da Apple Inc., registradas nos Estados Unidos e em outros pases. Multi-Touch uma marca comercial da Apple Inc. Apple Store uma marca de servio da Apple Inc., registrada nos Estados Unidos e em outros pases. App Store marca de servio da Apple Inc. A palavra marca Bluetooth e os logos so marcas comerciais registradas da Bluetooth SIG, Inc. e qualquer uso dessas marcas pela Apple devidamente licenciado. Intel e Intel Core so marcas comerciais da Intel Corp. nos Estados Unidos e em outros pases. UNIX marca registrada do The Open Group. Os demais produtos e nomes de empresas aqui mencionados provavelmente so marcas comerciais das suas respectivas empresas. Este material tem apenas carter informativo. A Apple no assume qualquer responsabilidade sobre o seu uso.
30