Por Fernando B., João Victor, Rafael F.
e Yulle.
Introdução
• Conhecido como
“iPhone OS” antes de
Junho de 2010.
• Usado em produtos
como o iPhone, o iPod
Touch e o iPad.
• A Apple não permite
rodar em software de
terceiros.
• A interação é feita
através de gestos e toque
da tela.
• A interface consiste de
elementos de fácil
manipulação com os
dedos.
• Há também um sensor
que adapta a orientação
da interface dependendo
da posição do aparelho
(retrato/paisagem)
• O iOS deriva do Mac OS
X, sendo, portanto, uma
variação de sistema
operacional do tipo
Unix.
• Aplicativos, tanto
oficiais quanto
desenvolvidos por
terceiros, são
distribuídos através da
App Store.
iOS 4
• Trouxe novos elementos que
sempre foram muito aguardados
pela comunidade, pois já se
faziam presentes em plataformas
móveis concorrentes.
• FaceTime
• Multitasking
• iBooks
• Pastas – categorias de aplicativos.
Jailbreak
• Dev-Team.
• Jay Freeman (saurik).
• A Apple® não dá garantia aos
dispositivos jailbroken.
• Criado para permitir a instalação
e utilização de aplicativos não
autorizados pela Apple®.
• Possui app store própria (Cydia).
• Muitos aplicativos que são
barrados pela Apple® ganharam
notoriedade na Cydia Store.
Desenvolvimento
• Em março de 2008 foi
lançado o Software
Development Kit (SDK) para
o desenvolvimento de
aplicativos.
• Apesar de liberar o
desenvolvimento, para
carregar um aplicativo no
aparelho é necessário pagar
uma taxa. Para efeitos de
testes, o SDK possui um
“simulador de iPhone”.
• Os aplicativos são escritos
utilizando Objective-C.
• O SDK contém quatro camadas de
abstração:
• A Cocoa Touch (para eventos
relacionados com a interface,
como toques e o uso do
acelerômetro).
• A camada de mídia (para eventos
de audio, video e formatos de
imagem, bem como animações).
• A camada Core Services (para
eventos de banco de dados,
networking e threads).
• E a camada OS X Kernel (XNU),
para controle de energia,
arquivos de sistema e segurança.
Objective-C
• Características:
• Objective-C é apenas um
conjunto de adições à linguagem
C. Ela dá ao C suporte à
construções orientadas a objetos,
como as da Smalltalk.
• Objective-C suporta
polimorfismo, posing, categorias,
e é uma linguagem dinâmica,
com typing e binding dinâmicos.
• Objective-C realiza chamadas de
mensagem dinâmicas
rapidamente.
Exemplos de código
•
#import <stdio.h>
#import <objc/Object.h>
•
int main( int argc, const char *argv[] )
{
Gato *meuGato;
@interface Gato: Object
-(void) miau;
meuGato = [Gato alloc];
meuGato = [meuGato init];
@end
[meuGato miau];
metodos
@implementation Gato
[meuGato free];
-(void) miau
{
printf("Miaau!\n");
}
@end
return 0;
}
• @interface NovaClasse:
SuperClasse
{
Declaração_de_variáveis;
}
Declaração_de_métodos;
@end
• @implementation NovaClasse
Definição_de_métodos;
@end
•
#import <stdio.h>
#import <objc/Object.h>
•
int main( int argc, const char *argv[] )
{
Gato *meuGato;
@interface Gato: Object
-(void) miau;
meuGato = [Gato alloc];
meuGato = [meuGato init];
@end
[meuGato miau];
metodos
@implementation Gato
[meuGato free];
-(void) miau
{
printf("Miaau!\n");
}
@end
return 0;
}
Comparação com Java SE e EE
• Java SE
• Plataforma Java Standard, com
recursos padrões para
desenvolvimento.
• Máquina virtual Java para rodar
aplicações multi-plataforma, o
que difere do iOS.
• Também possui orientação à
objetos.
• Java EE
• Plataforma de programação mais
avançada para servidores em
Java.
• Difere-se da Plataforma Java
Standard (Java SE) pela adição de
bibliotecas que fornecem
funcionalidade para implementar
software Java distribuído.
• Arquitetura multicamada.
Download

iOS