Buscar

Aula_05

Prévia do material em texto

DESENVOLVIMENTO NATIVO
AULA-5 DESENVOLVIMENTO NATIVO COM APPLE IOS
DERIVADO DO S.O. MAC OS X
Anunciado na Macworld de 2007 (jan/2007)
Inicialmente chamado de OS X
Em 2008 renomeado para iPhone OS
Em 2010 renomeado para iOS
Desenvolvido para o iPhone, porém utilizado pelo iPod Touch, iPad e Apple TV.
Sistema Operacional desenvolvido para ser executado somente em dispositivos da Apple.
CARACTERÍSTICAS DA PLATAFORMA
Características básicas: 
Simplicidade
Beleza
Eficiência
Voltado para telas sensíveis a toque.
Sistema proprietário, de código fechado.
Fornece ferramentas para o desenvolvimento de apps: Xcode e Sdk.
Apple Store.
Histórico
iPhone OS 1
iPhone OS 2
iPhone OS 3
iOS 4
iOS 5
iOS 6
iOS 7
iOS 8
iOS 9
2007
2008
2009
2010
2011
2013
2014
2015
2012
Arquitetura
Arquitetura
Camada Cocoa Touch
Camada que implementa aplicações gráficas e baseadas em eventos.
Permite acesso a features do dispositivo.
Provê um conjunto de componentes (API) de alto nível para construção da UI das aplicações.
EventKitUI, MapKit, UIKit, PhotosUI, etc.
Camada Media
Provê um conjunto de componentes (API) para construção de itens de multimidia em aplicações.
AvFoundation, AVKit, AudioToolBox, AudioUnit, CoreAudio, CoreAudioKit, etc.
Arquitetura
Camada Core Services
Provê acesso aos serviços fundamentais do iOS.
Permite obter acesso a arquivos, serviços Bonjour, sockets de rede, etc.
WebKit, MultiPeerConectivity, MobileCoreService, HomeKit, HealthKit, GameplayKit, etc.
Camada Core OS
Gerencia o sistema de memória virtual, threads, o sistema de arquivos, a rede e os interprocessos de comunicação entre os componentes da camada.
Abrange o ambiente do kernel, drivers e a interface basica do iOS.
Os drivers provêem a interface entre o sistema e o hardware.
Accelerate, CoreBlueTooth, ExternalAccessorey, LocalAuthentication, NetworkExtension, Security, System.
Ferramentas
xCode
Ambiente de desenvolvimento de aplicações para MacOs e iOs.
Integrado com a camada CocoaTouch do iOS.
SDK
Conjunto de ferramentas e classes (API) para o desenvolvimento de aplicações (apps) para o iOS.
XCode
Ambiente de desenvolvimento integrado (IDE).
Software livre da Apple.
 
Permite o gerenciamento de projetos relacionados com o sistema operacional Mac OS X. 
Possui um conjunto de ferramentas para criar aplicativos. 
Disponível na Apple Store gratuitamente para usuários do Mac OS X.
XCODE
Suporte ao desenvolvimento de aplicações para iPad, iPhone, Apple Watch, e Apple TV.
Suporte a linguagem Swift 2.
Interface Builder
Playgrounds
Address Sanitizer
Crash Logs
Games
Testes
User Interface Testing
Code Coverage
XCode
XCode
Fonte: https://developer.apple.com/xcode/ide/
Xcode – Suporte ao desenvolvimento de Jogos
Fonte: https://developer.apple.com/xcode/ide/
XCode
Desenvolvimento para Mac OS X
Disponível em: https://developer.apple.com/xcode/
Composto por um conjunto de ferramentas para desenvolver aplicações para o Mac OS X.
Suporte as ling. de programação: Objective-C, Swift e Apple-Script.
XCode
Desenvolvimento para iOS
Disponível em: http://developer.apple.com/ios/
Composto por um conjunto de ferramentas (SDK) fornecidos pela Apple Inc. 
Empresas e desenvolvedores independentes devidamente cadastrados no programa para desenvolvedor iOS da Apple, chamado iOS Developer Program, podem distribuir os aplicativos na App Store.
SDK iOS
Kit de desenvolvimento para iOS
Ling. de Programação: Swift 2 e Objective-C.
Versão atual: 9.X
Recursos:
3D Touch
Multitasking
Search
GameplayKit
AppThinnig
HomeKit
HeathKit
MapKit
CloudKit
LINGUAGEM DE PROGRAMAÇÃO OBJECTIVE-C
Linguagem Orientada a Objetos e Funcional.
Linguagem de programação primária utilizada na codificação de aplicações para OS X e iOS.
Influenciada pela linguagem C e Smaltalk.
Possui características similares a linguagem C tais como: sintaxe , tipos primitivos e estruturas de controle de fluxo.
Possui suporte ao gerencimento de grafos e objetos literais provendo tipos dinâmicos e binding.
Linguagem de Programação Objective-C
Fonte: https://developer.apple.com/library/mac/documentation/General/Conceptual/DevPedia-CocoaCore/ClassDefinition.html#//apple_ref/doc/uid/TP40008195-CH6-SW1
Estrutura de um Projeto Objective-C
Fonte: https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson2.html#//apple_ref/doc/uid/TP40015214-CH5-SW1
Linguagem de Programação Swift
Anunciada na WWDC 2014.
Open Source.
Linguagem Orientada a Objetos e Funcional.
Integrada a ferramenta Playground.
Moderna.
Linguagem de Programação Swift
Desempenho superior ao Objective-C.
Reduz a necessidade de arquivos em um projeto.
Facilidade de aprendizado em relação ao Objective-C.
Arquivos fonte escrito em Swift podem co-existir com arquivos escritos em Objective-C em um mesmo projeto.
Versões: 1.0, 2.0 e 3.0 (mais recente).
Linguagem de Programação Swift
Fonte: https://developer.apple.com/swift/blog/
Estrutura de um Projeto Swift
Fonte: https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson2.html#//apple_ref/doc/uid/TP40015214-CH5-SW1
Conclusão
Plataforma possui alta participação no mercado.
Inovadora.
Hardware
Loja Virtual comercialização de apps (Apple Store)
Hardware e software proprietários.
Alto grau de controle de publicação.
Sistema altamente estável, fluido, seguro e confiável.

Continue navegando