Prévia do material em texto
WBA0478_v1.0 Desenvolvimento de aplicações mobile – iOS Base estrutural de um aplicativo iOS Bloco 1 George Santiago Alves Arquitetura iOS Quatro camadas distintas: • Cocoa Touch. • Serviço de mídia. • Serviço principal. • Sistema operacional principal. Fonte: adaptada de Aleem (2019, p. 2). Figura 1 – Arquitetura geral do iOS Arquitetura iOS Camada Cocoa Touch: • Contém o kit de IU da estrutura principal. • Define a infraestrutura básica da aplicação no que tange a experiância do usuário. • Fornece funcionalidades e recursos essenciais, como multitarefa, entradas baseadas em toque e acesso ao sistema. • Contém estruturas como EventKit framework, framework GameKit, MapKit framework e framework MessageKit. Fonte: adaptada de Aleem (2019, p. 2). Figura 2 – Arquitetura do iOS: Cocoa Touch Arquitetura iOS Camada Media: • Fornece ao iOS todas as funcionalidades para suportar áudio, vídeo, animação e gráficos. • Contém bibliotecas e estruturas como Core Audio, Core Text, Core Image, Core Animation e Core Audio. • Possibilidade de usar frameworks para trabalhar com recursos multimidia, como a User Interface Kit (UIKit). Fonte: adaptada de Aleem (2019, p. 2). Figura 3 – Arquitetura do iOS: Media Arquitetura iOS Camada Core Services: • Possui abstração, pois, há uma Camada de serviço principal que fornece recursos usados nas camadas de alto nível. • Contém frameworks, como: Address Book, Core Location e Core Telephon. Fonte: adaptada de Aleem (2019, p. 2). Figura 4 – Arquitetura do iOS: Core Services Arquitetura iOS Camada Core OS: • A camada de mais baixa nível da arquitetura iOS é o Core OS. • Fornece processamento, interface e suporte a certificação e segurança para os aplicativos iOS. • Contém estruturas como frameworks de aceleração, estrutura do sistema, acessórios externo e estrutura de segurança. Fonte: adaptada de Aleem (2019, p. 2). Figura 5 – Arquitetura do iOS: Core OS Base estrutural de um aplicativo iOS Bloco 2 George Santiago Alves Xcode 12 • O preenchimento de código simplificado. • Guias de documentos. • Tamanhos de fonte do navegador. • Organizador redesenhado. • SwiftUI. Fonte: adaptada de Apple (2020, [s.p.]). Figura 6 – Xcode 12 Xcode 12 • Aplicativo universal. • Teste para várias arquiteturas. • Modelo multiplataforma. • Autoindentação aprimorada. • Teste StoreKit. Fonte: adaptada de Apple (2020, [s.p.]). Figura 6 – Xcode 12 Linguagem Swift • Comunidade Open-Source. • Legibilidade do código. • Manutenção de código. • Desenvolvimento de aplicativos. • Compatível com Objective-C. Fonte: adaptada de Apple (2020, [s.p.]). Figura 7 – Swift Linguagem Swift • Compatível com vários dispositivos. • Suporte a bibliotecas dinâmicas. • Desempenho e segurança. • Playgrounds. Fonte: adaptada de Apple (2020, [s.p.]). Figura 7 – Swift Base estrutural de um aplicativo iOS Bloco 3 George Santiago Alves Desenvolvimento mobile • Aplicações Web. • Aplicações Híbridas. • Aplicações Nativas. Fonte: adaptada de Andrade, Agra e Malheiros (2013, p. 785). Figura 8 – Escolha do tipo de aplicação para o projeto Desenvolvimento mobile • Aplicações Web. • Aplicações Híbridas. • Aplicações Nativas. Fonte: adaptado de Andrade, Agra e Malheiros (2013, p. 786). Quadro 1 – Arquitetura para desenvolvimento web móvel Desenvolvimento mobile • Aplicações Web. • Aplicações Híbridas. • Aplicações Nativas. Quadro 2 – Arquitetura para aplicação nativa móvel Fonte: adaptado de Andrade, Agra e Malheiros (2013, p. 786). Desenvolvimento mobile • Aplicações Web. • Aplicações Híbridas. • Aplicações Nativas. Quadro 3 – Arquitetura para aplicação nativa móvel Fonte: adaptado de Andrade, Agra e Malheiros (2013, p. 786). Teoria em Prática Bloco 4 George Santiago Alves Reflita sobre a seguinte situação Além da comunicação, existem os modelos de conexão, que são descritos por seu tamanho e por sua finalidade. Para aplicações, podemos iniciar a discussão pela transmissão ou Broadcast, um modelo de conexão que simplifica a transmissão dos dados; em síntese, para transmitir algo é necessário otimizar a descoberta do usuário, escutando ativamente todas as emissões de dados em tempo real. Reflita sobre a seguinte situação Já o modelo de conexão peer to peer (também conhecido como P2P) é uma abstração para conectividade que significa que todos os usuários se conectam diretamente uns com os outros; consequentemente, a conectividade pode apresentar uma pequena quantidade de latência – pois, os dados transmitidos nos pacotes evitam o reenvio para o servidor. Dessa forma, como abordar a questão das permissões de acesso em aplicações distribuídas no ecossistema da Apple no que tange a segurança mobile no desenvolvimento de apps? Norte para a resolução... Segundo a documentação de suporte ao desenvolvimento mobile, “os apps estão entre os elementos mais importantes de uma arquitetura de segurança moderna. Eles oferecem aos usuários benefícios incríveis na produtividade, mas também têm o potencial de impactar negativamente a segurança e estabilidade do sistema, assim como os dados do usuário, se não forem gerenciados corretamente” (APPLE, 2020, [s.p.]). • Proteção da Integridade do Sistema. • Controles de acesso obrigatórios. • Autenticação de apps. Dica do Professor Bloco 5 George Santiago Alves Dica do Professor • Título: Guias e Documentação para suporte ao desenvolvedor. • Autores: Apple Inc. • Ano: 2020. • Disponível no Website da Apple, seção de Documentação e Guias. Dica do Professor • Título: Swift (a linguagem do iOS) // Dicionário do Programador. • Canal: Código Fonte TV. • Ano: 2019. • Disponível em: YouTube. Referências ANDRADE, A. W.; AGRA, R.; MALHEIROS, V. Estudos de caso de aplicativos móveis no governo brasileiro. In: SIMPÓSIO BRASILEIRO DE SISTEMAS DE INFORMAÇÃO (SBSI), 9. , 2013, João Pessoa. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2013. p. 780-791. APPLE. Documentação e guias. Disponível em: https://developer.apple.com/pt/support/. Acesso em: 10 set. 2020. ALEEM, F. Layered Architecture used by iOS and it’s Performance & Portability. Jul. 2019. DOI: 10.13140/RG.2.2.22845.20968. BORCK, J.; CAMINADE, J.; WARBURG, M. V. How Large Is the Apple App Store Ecosystem? A Global Perspective for 2019. Analysis group, 15 jun. 2020. Disponível em: https://www.apple.com/newsroom/pdfs/app-store-study-2019.pdf. Acesso em: 11 set. 2020. Bons estudos! Desenvolvimento de aplicações mobile – iOS Base estrutural de um aplicativo iOS Arquitetura iOS Arquitetura iOS Arquitetura iOS Arquitetura iOS Arquitetura iOS Base estrutural de um aplicativo iOS Xcode 12 Xcode 12 Linguagem Swift Linguagem Swift Base estrutural de um aplicativo iOS Desenvolvimento mobile Desenvolvimento mobile Desenvolvimento mobile Desenvolvimento mobile Teoria em Prática Reflita sobre a seguinte situação Reflita sobre a seguinte situação Norte para a resolução... Dica do Professor Dica do Professor Dica do Professor Referências Bons estudos!