SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a Sincronizando dados locais com a nuvem no iOS #TDC2013

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 - TDC2014Jonathan Prates
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
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 ...tdc-globalcode
 
Tdc2015 NoSQL-documentdb
Tdc2015 NoSQL-documentdbTdc2015 NoSQL-documentdb
Tdc2015 NoSQL-documentdbthdotnet
 
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...Walter Coan
 
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 JHipsterEdlaine Zamora
 
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...tdc-globalcode
 
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 ...tdc-globalcode
 
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 & DockerGiovanni Kenji Shiroma
 
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 Umbler
 
Tdc2016 trilha-banco-influx.ppt
Tdc2016 trilha-banco-influx.pptTdc2016 trilha-banco-influx.ppt
Tdc2016 trilha-banco-influx.pptMarcos Artigas
 
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 Domingos Teruel
 
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 JavaDr. Spock
 
TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APIEdlaine Zamora
 
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 ...Rodrigo Urubatan
 
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 DockerWellington Silva
 
Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Otávio Santana
 

Similar a 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
 
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
 
Tdc2016 trilha-banco-influx.ppt
Tdc2016 trilha-banco-influx.pptTdc2016 trilha-banco-influx.ppt
Tdc2016 trilha-banco-influx.ppt
 
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