SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
Globalcode	
  –	
  Open4education
Sincronizando dados locais com a
nuvem no iOS
Victor Serta
Cofundador da Agivis
Globalcode	
  –	
  Open4education
Tipos de apps
Dados
locais
Dados na
nuvem
Sem
persistência
Globalcode	
  –	
  Open4education
Essa palestra
COMO
ARMAZENAR
LOCALMENTE?
COMO
ARMAZENAR
NA NUVEM?
COMO
SINCRONIZAR?
Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
Armazenamento local
Documents
Library
tmp
Globalcode	
  –	
  Open4education
Armazenamento local
Arquivo texto Property List Archiving
SQLite CoreDataUser Defaults
Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
iCloud
!  Key/Value Store
!  Core Data
!  Document
Globalcode	
  –	
  Open4education
iCloud - Key/Value Store
Globalcode	
  –	
  Open4education
iCloud - Key/Value Store
Globalcode	
  –	
  Open4education
iCloud - Document
UIDocument
ModelModelDocument
Globalcode	
  –	
  Open4education
iCloud - Document
! loadFromContents:ofType
:error:
! contentsForType:error:
! NSData ou NSFileWrapper
UIDocument
ModelDocument
Globalcode	
  –	
  Open4education
iCloud - Document
Globalcode	
  –	
  Open4education
iCloud - Document
Globalcode	
  –	
  Open4education
iCloud - Document
Globalcode	
  –	
  Open4education
iCloud - Document
Globalcode	
  –	
  Open4education
iCloud - Document
Globalcode	
  –	
  Open4education
Outras opções p/ arquivo
! Dropbox Datastore API
!  Google Drive: Google APIs Client
Library for Objective-C
Globalcode	
  –	
  Open4education
RESTful Web Services
Globalcode	
  –	
  Open4education
RESTful Web Services
GET /customers/1
JSON
Globalcode	
  –	
  Open4education
JSON
{ customers: [
{
id: 1,
firstname: ”Victor",
lastname: ”Serta",
photo: "/assets/photo.png",
},
{
id: 2,
firstname: ”Anderson",
lastname: ”Andreatta",
photo: "/assets/photo.png",
}
]}
Globalcode	
  –	
  Open4education
NSURLConnection
Globalcode	
  –	
  Open4education
NSURLConnectionDelegate
Globalcode	
  –	
  Open4education
NSJSONSerialization
Globalcode	
  –	
  Open4education
AFNetworking
Globalcode	
  –	
  Open4education
AFIncrementalStore
Globalcode	
  –	
  Open4education
RestKit
Globalcode	
  –	
  Open4education
RestKit
Globalcode	
  –	
  Open4education
RestKit
Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
Copiar dados
Pizza
Hamburguer
Lasanha
Salada Caesar
Strogonoff Strogonoff
Referência: Dan Grover at iPhone 2009 conference
Globalcode	
  –	
  Open4education
Copiar dados
Pizza
Hamburguer
Strogonoff
Pizza
Hamburguer
Strogonoff
Globalcode	
  –	
  Open4education
Merge dos dados
Pizza
Hamburguer
Lasanha
Salada Caesar
Strogonoff Strogonoff
Globalcode	
  –	
  Open4education
Merge dos dados
Pizza
Hamburguer
Lasanha
Salada Caesar
Strogonoff Strogonoff
Lasanha
Salada Caesar
Pizza
Hamburguer
Globalcode	
  –	
  Open4education
Sincronizar os dados
Pizza
Hamburguer
Lasanha
Salada Caesar
Strogonoff Strogonoff
Globalcode	
  –	
  Open4education
Sincronizar os dados
Pizza
Hamburguer
Lasanha
Salada Caesar
Strogonoff Strogonoff
Sincronização: 12:00
Criado: 11:00
Modificado: 11:00
Sincronização: nil
Criado: 14:00
Modificado: 14:00
Sincronização: 12:00
Criado: 11:00
Modificado: 11:00
Sincronização: 12:00
Criado: 11:00
Modificado: 11:00
Sincronização: nil
Criado: 13:00
Modificado: 13:00
Sincronização: 12:00
Criado: 11:00
Modificado: 11:00
Sincronização: 12:00
Agora: 15:00
Globalcode	
  –	
  Open4education
Sincronizar os dados
Pizza
Hamburguer
Lasanha
Salada Caesar
Strogonoff Strogonoff
Sincronização: 12:00
Criado: 11:00
Modificado: 11:00
Sincronização: nil
Criado: 14:00
Modificado: 14:00
Sincronização: 12:00
Criado: 11:00
Modificado: 11:00
Sincronização: 12:00
Criado: 11:00
Modificado: 11:00
Sincronização: nil
Criado: 13:00
Modificado: 13:00
Sincronização: 12:00
Criado: 11:00
Modificado: 11:00
Sincronização: 12:00
Agora: 15:00
HamburguerSalada Caesar
Globalcode	
  –	
  Open4education
Sincronizar os dados
Pizza
Sincronização: 12:00
Criado: 11:00
Modificado: 11:00
Globalcode	
  –	
  Open4education
Sincronizar os dados
!   UDID
!   Criação
!   Modificação
!   Última sincronização
Globalcode	
  –	
  Open4education
Infraestrutura como
Serviço (IaaS)
Globalcode	
  –	
  Open4education
Platform as a service
(PaaS)
Globalcode	
  –	
  Open4education
Backend as a service
(BaaS)
Globalcode	
  –	
  Open4education
Backend Framework
Globalcode	
  –	
  Open4education
Contato
OBRIGADO!
@victorserta
Victor Serta
agivis.com.br

Contenu connexe

Similaire à Sincronizando dados locais com a nuvem no iOS #TDC2013

Similaire à Sincronizando dados locais com a nuvem no iOS #TDC2013 (20)

Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
Tdc2015 NoSQL-documentdb
Tdc2015 NoSQL-documentdbTdc2015 NoSQL-documentdb
Tdc2015 NoSQL-documentdb
 
Tdc2015 NoSQL-documentdb
Tdc2015 NoSQL-documentdbTdc2015 NoSQL-documentdb
Tdc2015 NoSQL-documentdb
 
The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...
The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...
The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
 
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
Tdc2016 trilha-banco-influx.ppt
Tdc2016 trilha-banco-influx.pptTdc2016 trilha-banco-influx.ppt
Tdc2016 trilha-banco-influx.ppt
 
InfluxDb: como monitorar milhares de dados por segundo em real time
InfluxDb: como monitorar milhares de dados por segundo em real time InfluxDb: como monitorar milhares de dados por segundo em real time
InfluxDb: como monitorar milhares de dados por segundo em real time
 
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 Lições aprendidas com a Re (escrita |design) de uma aplicação PHP  Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 
Computação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaComputação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e Java
 
Metralhando sua API
Metralhando sua APIMetralhando sua API
Metralhando sua API
 
TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua API
 
IC-Testes Invasao
IC-Testes InvasaoIC-Testes Invasao
IC-Testes Invasao
 
TDC2017 - POA - Aprendendo a usar Xamarin para desenvolver aplicações moveis ...
TDC2017 - POA - Aprendendo a usar Xamarin para desenvolver aplicações moveis ...TDC2017 - POA - Aprendendo a usar Xamarin para desenvolver aplicações moveis ...
TDC2017 - POA - Aprendendo a usar Xamarin para desenvolver aplicações moveis ...
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
 
Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF
 

Sincronizando dados locais com a nuvem no iOS #TDC2013