1 / 58

iOS

iOS. Grupo: Adroaldo Deandrade André Bernard Mariana Scaff Rodrigo Joenk. O que é o iOS?. O iOS é o sistema operacional móvel desenvolvido e distribuído pela Apple, que está presente exclusivamente nos seus aparelhos . Definição da própria Apple sobre o iOS:

vanessa
Download Presentation

iOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. iOS Grupo: AdroaldoDeandrade André Bernard Mariana Scaff Rodrigo Joenk

  2. O que é o iOS? • O iOS é o sistema operacional móvel desenvolvido e distribuído pela Apple, que está presente exclusivamente nos seus aparelhos. • Definição da própria Apple sobre o iOS: “iOS – O sistema operacional móvel mais avançado do mundo Com uma interface fácil de usar, recursos fantásticos e excelente estabilidade, o iOS é a base do iPhone, do iPad e do iPod touch. Mesmo que a concorrência tente acompanhar, as tecnologias e recursos presentes no iOS deixam os dispositivos da Apple anos à frente.” • O iOS vem instalado em todos aparelhos móveis da Apple, suas atualizações são gratuitas e podem ser feitas OTA.

  3. História • Ele nasceu em 2007 para ser o SO do revolucionário celular da empresa, que mudou o conceito de Smartphone. • Surgiu a partir do Mac OSX (SO dos computadores da Apple, também exclusivo), o iOS foi, durante a apresentação do primeiro iPhone, chamado de “OSX que roda no iPhone” e evoluiu de uma maneira que os consumidores passaram a preferi-lo em detrimento da sua “inspiração” e hoje é o OSX que vem cada vez mais se tornando parecido com o iOS. • Desde que foi criado o iOS, a Apple lança uma nova versão para os aparelhos que o suportam, tornando a experiência iOS cada vez melhor, apesar de que ainda tem muito a evoluir em relação a alguns diferenciais dos seus concorrentes. • iOS: Uma história visual http://www.theverge.com/2011/12/13/2612736/ios-history-iphone-ipad

  4. História – iOS 1.0

  5. História – iOS 1.1

  6. História – iOS 1.1.3

  7. História – iOS 2.0 MobileMe é um serviço baseado em Cloud “das cavernas” que fornecia a sincronia de e-mail, calendário e contatos. Descontinuado esse ano, sendo totalmente substituído pelo iCloud.

  8. História – iOS 2.2

  9. História – iOS 3.0 • Spotlight é um sistema de busca que percorre todo o sistema. • USB & Bluetooth tethering é o compartilhamento da internet (3G), via USB e Bluetooth

  10. História – iOS 3.2

  11. História – iOS 4.0 • iAd é uma plataforma móvel de propaganda da Apple

  12. História – iOS 4.1 • iTunes Ping foi uma tentativa de rede social de música criada pela Apple. Com o seu imenso insucesso, a Apple firmou parcerias com Facebook e Twitter recentemente.

  13. História – iOS 4.2.1 • AirPlay é um serviço da Apple para o streming de conteúdo do dispositivo com iOS para uma AppleTV. • AirPrint é um serviço da Apple para conectar o dispositivo iOS a uma impressora e imprimir documentos via Wi-Fi

  14. História – iOS 4.3 • PersonalHotspot é uma funcionalidade que “transforma” o seu dispositivo em um roteador e compartilha o seu 3G via Wi-Fi.

  15. História – iOS 5.0

  16. História – iOS 6.0 Passbook é um aplicativo nativo, que serve como uma carteira para guardar cartões de embarque, ingresso, cupons de desconto, cartões de fidelidade, etc.

  17. Presença • O iOS está presente no iPhone, iPad, iPad Mini, iPod Touch e AppleTV (em uma versão modificada), portanto os números do SO surpreendem e mostram o quanto a Apple cresceu graças ao seu surgimento • Normalmente um aparelho suporta 2 ou 3 atualizações do iOS, portanto esse é o seu ciclo de vida “atualizado”.

  18. Números • - Números fornecidos no evento de lançamento do iPhone (12 de Setembro desse ano): * Existem mais de 700.000 apps na AppStore (loja de aplicativos do iOS). * A média de apps que um consumidor possui instalado no seu aparelho é 100. * Até Junho de 2012, a Apple já tinha vendido 400 milhões de aparelhos com iOS. * Existem 200 milhões de consumidores usando o “iTunes na Nuvem”. * Existem 435 milhões de contas, com cartão de crédito associado, na iTunes Store (loja da Apple com músicas, videoclipes, filmes, séries, materiais escolares, podcasts, etc.). * As iTunes Stores estão disponíveis em 63 países, que, juntas, já foram responsáveis por 15 bilhões de downloads de “mídias”. • - Números fornecidos no lançamento do iPad Mini (23 de Outubro desse ano): * Lançado no dia 19 de setembro de 2012, o iOS 6 já está rodando em mais de 200 milhões de dispositivos, sendo a taxa de upgrade de software mais rápida da história, em qualquer plataforma. * Já são mais de 125 milhões de documentos armazenados no iCloud. * O Game Center já conta com 160 milhões de contas. * Já são mais de 1,5 milhão de livros disponível na iBookStore.

  19. Espaço Ocupado pelo Sistema • O tamanho que o SO ocupa no aparelho é cada vez maior, isso é facilmente explicado pela quantidade cada vez maior de funcionalidades e serviços presentes no iOS, porém é um ponto que a Apple deve tentar otimizar nas próximas versões.

  20. iCloud • Como cada vez mais o mundo está na “nuvem”, era de se esperar que a Apple lançasse o seu serviço de nuvem, para melhorar ainda mais a “experiência Apple” entre os dispositivos com Mac e iOS. • Definição da Apple sobre o seu serviço: “O iCloud armazena suas músicas, fotos, apps, e-mails, contatos, calendários, documentos e mais, além de enviar tudo isso remotamente para todos os seus dispositivos. Se você compra uma música, tira uma foto ou edita um evento no calendário no seu iPad, o iCloud faz com que tudo isso apareça no seu Mac, iPhone e também no seu iPod touch. E sem que você precise fazer nada.” • Enquanto você estiver com o iCloud ativado, sempre que o seu dispositivo iOS estiver sendo carregado e com a Wi-Fi ligada, ele automaticamente faz backup do seu aparelho e salva na nuvem. Também é possível mandar esse backup ser realizado a qualquer hora. • A qualquer momento é possível restaurar um aparelho do backup disponível no iCloud.

  21. Aplicativos e Recursos Nativos • Existem diversos de aplicativos e recursos nativos que vem com o iOS e, como quase tudo na Apple, são exclusividade dos aparelho com o iOS. Os que estão destacados no site da própria empresa são: * Mapas – Na última versão do iOS, a Apple realizou um de seus sonhos: Ter um sistema sem a presença do Google. Para isso, nessa última versão foram excluídos o aplicativo nativo do Youtube e o antigos Mapas do Google foi substituído pelo novo controverso Mapas da Apple. A entrada da Apple acirra ainda mais a recente disputa dos mapas. Google, Nokia, Amazon e Apple são as 4 gigantes que começaram uma batalha pelo serviço de mapas, com ampla vantagem ao sistema mais antigo, o Google Maps. * Música – A Apple deve muito à música, tal como a música deve a Apple. Esse casamento já é antigo, desde de 2001 quando a Apple lançou o iPod e a iTunes Music Store em 2003, o mercado da música se alterou, tanto quanto a Apple ficou conhecida e utilizada ao redor do mundo. Com o seu iOS você pode ouvir música em qualquer lugar, como as suas músicas compradas estão na iTunes na Nuvem, você pode acessá-las em todos os seus dispositivos e baixa-las a qualquer momento. * Facetime – Serviço para a realização de vídeo-chamadas com qualquer outro aparelho que tenha iOS.

  22. Aplicativos e Recursos Nativos * iMessage - Serviço de mensagens via Wi-Fi, gratuito e ilimitado, para troca de mensagens e envio de fotos, vídeos, localização e contatos. * Safari – Navegador de todos os dispositivos com iOS, que agora permite salvar páginas web para uma lista de leitura off-line e sincroniza as abas abertas via iCloud. * AirPlay - Reproduz o que estiver no seu dispositivo com iOS na sua TV, via Apple TV. Também espelha o que estiver na tela do seu dispositivo direto na sua TV. * Game Center – Como cada vez os aparelhos móveis vem dominando também o mundo dos games, nada melhor do que uma rede social de jogos. Com ele você pode se conectar a outros jogadores, comparar recordes em jogos, desafiar a quebrar seus recordes e jogar com pessoas do mundo todo, amigos ou não.

  23. Concorrentes • O mundo dos smartphones é cada vez mais concorrido, tal como é a briga dos SO’s móveis. • Os principais concorrentes do iOS hoje são: Android e o Windows Phone • Essa concorrência é fantástica para nós, consumidores, pois quanto maior ela for, mais recursos inovadores e facilidades teremos para desfrutar no nosso dia-a-dia.

  24. Vantagens iOS • A principal vantagem do iOS sobre seus concorrentes talvez seja a fluidez e simplicidade de utilização. Qualquer um que pegue um aparelho com iOS, já consegue manuseá-lo através da intuitiva interface multi-touch. Segundo as palavras da própria Apple, “tudo o que você toca é muito fácil, intuitivo e divertido” • A loja de aplicativo (AppStore) é outro enorme diferencial do iOS para seus concorrentes. Ela já conta com mais de 700 mil apps e jogos, todos passando por uma rígida série de regras e avaliações da própria empresa, o que garante um nível de qualidade excelente para os apps (apesar de escapar de vez em quando alguns “ilegais”). • A iTunes Store e iBookStore tornam a “experiência iOS” ainda mais completa e cativante. • O iOS é muito elogiado pelas pessoas que necessitam de acessibilidade, pois é um dos sistemas mais “acessíveis” do mundo.

  25. Vantagens iOS: Segurança • A segurança do iOS também é outro ponto que chama a atenção. • Até hoje nunca ocorreu um caso, pelo menos que se tornou conhecido, de vírus ou malware. • Sempre que um aplicativo deseja utilizar-se de alguma informação do seu dispositivos (contatos, calendário, fotos, localização, lembretes) ele precisa de sua autorização. • Você pode definir uma senha para seu dispositivo e habilitar a função de apagar o conteúdo do aparelho após um certo número de tentativas erradas de desbloquear o aparelho. • Essa senha codifica e protege seus e-mails e também permite que apps de terceiros codifiquem seus dados armazenados. O iOS aceita comunicação de rede codificada para a proteção de informações durante a transmissão das mesmas. • Caso o seu dispositivo seja perdido ou roubado, o aplicativo “Buscar meu iPhone” pode localizá-lo em um mapa e apagar todos os seus dados remotamente. Quando recuperar o dispositivo, recupere todo o conteúdo a partir do backup mais recente.

  26. Desvantagens iOS • Um dos principais problemas para os usuários mais avançados, é a falta de customização do iOS. A Apple faz um sistema excelente, porém não permite que ele seja modificado e customizado de uma forma mais incisiva pelo usuário. • Opreço dos dispositivos com iOS é elevado e, como vende cada vez mais, não há porque a Apple abaixar esse preço.

  27. Exclusividade • A Apple sempre foi uma empresa fechada e isso tem seus lados bons e ruins. • O fato do iOS ser exclusivo da empresa de Cupertino, faz com que ele seja melhor que seus concorrentes em certos pontos e pior em outros. • Novamente, palavras da própria Apple: “Hardware e software feitos um para o outro. Como a Apple faz o hardware e o sistema operacional do iPad, iPhone e iPod touch, tudo é projetado para funcionar em conjunto. Assim, os apps aproveitam ao máximo todos os recursos de hardware como a tela Retina, a interface Multi-Touch, o acelerômetro, o giroscópio com três eixos, processadores gráficos acelerados e muito mais. O FaceTime é um exemplo perfeito disso. Ele usa a câmera frontal e a traseira, a tela, o microfone e a sua conexão Wi-Fi.”

  28. Vantagens e Desvantagens da Exclusividade VANTAGENS: • Uma das vantagens é o desempenho e boa impressão do iOS sempre serem altos, pois a Apple pode testar o sistema em todos os aparelhos que o utilizarão antes de disponibilizar para o público. • Outra vantagem é a fluidez e facilidade com que as ferramentas e serviços exclusivos (citados anteriormente) funcionarão no iOS. DESVANTAGENS: • A principal desvantagem de ser um usuário de iOS é se vive em uma “prisão” e não tem como se comunicar com o “mundo exterior”, portanto a comunicação entre os aparelhos iOS funcionam perfeitamente, porém não com os aparelhos que tenham outro SO’s.

  29. Jailbreak • Desde quando foi criado, iOS sempre foi “alvo” dos hackers, que queriam explorar ao máximo do sistema e customizá-lo da sua maneira. Foi nesse sentido que se criou o Jailbreak, que é o desbloqueio do aparelho para instalação de funções e mudar configurações que não são permitidas pela Apple. • No início da história do Jailbreak, sua finalidade era a instalação de apps de terceiros (a AppStore só surgiu em 2008, antes disso o iPhone só tinha os apps que já vinham nativamente). • Depois que a AppStore surgiu, o motivo do Jailbreak mudou, agora sua finalidade era ter acesso aos arquivos do sistema, instalação de temas personalizados e modificações no aparelho. • O Jailbreak oferece inúmeras vantagens ao seu aparelho, porém também o deixa vulnerável a ataques e erros no sistema. • Portanto só se faz Jailbreak por sua conta e risco, devendo saber como utilizá-lo da maneira positiva.

  30. Relação Apple x Jailbreak • A Apple sempre faz algumas modificações visando dificultar o processo do Jailbreak, porém ela não o abomina completamente. • Muito das novidades que se tem no iOS são vindas do Jailbreak e muitas que virão, já estão hoje disponíveis nos aparelhos com Jailbreak. • Além de utilizar-se de ideias advindas do Cydia (aplicativo que se instala em todos os aparelhos que fazem Jailbreak, que é de onde se baixa tudo do Jailbreak), a Apple também já contratou hackers que fizeram sucesso no mundo “alternativo”.

  31. Objective-C • Criada por Brad Cox eTim Love, com o intuito de adicionar as capacidades da linguagem SmallTalk à linguagem C. Era inicialmente conhecida por “Object-OrientedProgramming in C”, ou simplesmente, OOPC. • Objective-C adiciona os conceitos de orientação a objetos à linguagem C e a sobrepõe com novas palavras-chave e com a sintaxe de chamada de método de SmallTalk. • Herda sintaxe, tipos primitivos e fluxos de controle de C e adiciona elementos sintáticos para definição de classes e métodos.

  32. Objective-C x Java • Por se tratar de uma linguagem que deriva do C (assim como o Java), acabamos tendo mais semelhanças do que diferenças entre as linguagens comparadas aqui. • Se formos analisar um trecho de código de Objective-C veremos que boa parte se parecerá muito com o C, enquanto em  algumas linhas veremos linhas de código "abraçadas" por colchetes, estes trechos justamente tratam da parte orientada a objetos. • Em Java: intgetLength(List<String> list, int index) {
  return list.get(index).length();
}
 • Em Objective-C: - (int)getLengthWIthJavaUtilList:(JavaUtilList *)list withInt:index {
  return [(NSString *) [list getWithInt:index] length];
}

  33. TiposPrimitivos

  34. Objective-C x Java

  35. Objective-C x Java

  36. Objective-C x Java Ponteiros: • Java “protege” você de “bagunçar” a memória física omitindo a utilização dos ponteiros que dão ao programador o direito arbitrário de acesso direto a partes da memória. Assim, em Java você tem apenas acesso as primitivas nomeadas e as referências aos objetos criados. • No Objective-C você tem a liberdade de utilização dos ponteiros, o que leva a uma maior flexibilidade na programação, mas que também deve ser tratada com bastante responsabilidade, tendo em mente não ultrapassar os limites previstos ao programador. • Assim como no C, quando estamos trabalhando com ponteiros, deve se utilizar o operador unário (*).

  37. Objective-C x Java #if: • A diretiva #ifpertence ao Objective-C e não possui estrutura análoga no Java. • Sua utilização é simples e serve para incluir ou omitir um bloco de texto dependendo do valor de uma expressão. Exemplo: #if LOG_OUTPUT > 1 NSLog(@"relatório contém %d novos registros",registerCount); #endif • Pode também ser utilizado #else também dentro do bloco.

  38. Objective-C x Java Inicializaçãoautomática de variáveis: • Assim como é no Java, em Objective-C, uma variável pode ser declarada sem um valor inicial. Desta forma, o compilador assumirá um valor “default” para ela.

  39. Objective-C x Java Garbage Collectorx Retain/Release: • Enquanto no Java não precisamos nos preocupar com objetos que perdem sua utilidade durante o tempo de execução - pois esses são coletados pelo GC- no Objective-C devemos tratar esta situação manualmente com o a utilização do retain ou release. Retain para que o objeto seja mantido e Release quando o mesmo não seja mais necessário, liberando a memória utilizada por ele. • Podem também ser criadas auto-release pools onde uma quantidade indefinida de objetos podem ser incluídos e posteriormente descarregados (flush).

  40. Objective-C x Java • Existe um conversor automático de código Java para Objective-C fornecido pelo Google: https://code.google.com/p/j2objc/

  41. Desenvolvimento • A Apple fornece suporte completo a desenvolvedores com diversas ferramentas que trabalham juntas para tornar o processo de implementação mais simples. • O desenvolvimento voltado a iOS é baseado na linguagem de programação Objective-C e no framework Cocoa Touch.

  42. Cocoa Touch • A estrutura do sistema operacional é dividida em quadro camadas. Cocoa Touch seria a camada de mais alto nível, a qual contém os serviços essenciais para a construção de aplicativos iOS. (Fonte da imagem: iMasters Pro)

  43. Cocoa Touch • Cocoa Touch contém uma biblioteca de APIs, objetos e runtimes que herdam a camada de desenvolvimento do sistema operacional. • Ele contém funções específicas para iOS como multitouch, views, gps, acelerômetro, etc. • A sua maior parte é implementada em Objective-C. • Foi projetado em cima do modelo Model-View-Controller (MVC), portanto os aplicativos desenvolvidos devem seguir o mesmo modelo. • Consiste, principalmente, nos frameworks Foundation e UIKit.

  44. Foundation • Define o comportamento de objetos e introduz mecanismos para gerência de memória; • Suporta persistência de dados; • Fornece objetos para tipos primitivos de dados, como valores numéricos, strings e coleções; • Fornece classes utilitárias para acessar serviços do sistema operacional.

  45. UIKit • Fornece classes para a construção e gerenciamento de interfaces de usuário para aplicativos iOS. • Fornece suporte a tratadores de evento, animações na interface, base para desenhos 2D, controles para interface com touch screen. • Existem três formas de criar uma interface gráfica para iOS usando o UIKit: • Usando o Interface Builder para arrastar elementos gráficos na tela de construção; • Criando, posicionando e configurando os elementos gráficos através de programação; • Implementando objetos gráficos customizados através de herança da classe UIView ou subclasses dela.

  46. MVC em desenvolvimento iOS • As vantagens da utilização do padrão MVC em aplicativos iOS são numerosas. • As interfaces ficam mais definidas e com mais qualidade, os aplicativos em si tendem a ser mais facilmente entendidos e melhorados. • Se o seu aplicativo incorpora um serviço do Cocoa Touch que é baseado em MVC, ele funcionará melhor se também seguir as regras do modelo. • O objetivo central é poder reutilizar uma mesma entidade (model) para diferentes interfaces (views).

  47. Componentes Existem muitos componentes e bibliotecas para desenvolvimento de aplicações iOS disponíveis em repositórios como: http://cocoaobjects.com/ http://www.cocoacontrols.com/

  48. iOS SDK • Para ter acesso a ferramentas de desenvolvimento, documentação, exemplos de código e fórum de discussão da Apple, é necessário o cadastro no iPhone DeveloperProgramo qual possui dois tipos de cadastros: o gratuito e o pago. Assinando uma quantia anual, o desenvolvedor tem direito a testar seu aplicativo em um aparelho físico e publicá-lo na AppStore.

More Related