SlideShare uma empresa Scribd logo
1 de 10
Persistência e Bancos de Dados com Xamarin.Forms
#ifoodFriends
It´s-a me Bertuzzi
• Thiago Bertuzzi é desenvolvedor .net há 12 anos participando
de projetos Desktop, Services, Web e Mobile utilizando
Xamarin.
• É Microsoft MVP em Developer Technologies
• É Líder técnico na NESS
• Contribui para comunidade Xamarin escrevendo artigos,
compartilhando códigos, palestrando e criando pacotes Nuget.
Web Api
• Consumo de WebAPI
• E se meu App ficar off-line?
• Que dados ainda posso
acessar?
• A experiência do usuário será
prejudicada?
• Devo guardar todos os dados
no meu App ?
Persistência de Dados
Banco de Dados para Dispositivos Móveis são todos ruins...
Se usados da maneira errada ... :D
Bancos “Móveis” não são SGBD
Persistência de Dados
• Utilizamos SQLIte se tivermos a
necessidade de ter um cenário de
dados em modo desconectado
Dados Locais
• Xamarin.Essentials
• Não utiliza bancos de dados
• Grava os dados por plataforma
• Cuidado com o que armazena
LiteDB
• LiteDB é uma solução de banco de dados NoSQL simples e rápida.
• Mauricio David (Brasillllllllllll !!!!!!!! )
• Desenvolvido em C#
• Compatível com .NET 3.5, 4.x, NETStandard 1.3 e 2.0
• Possui um arquivo Único (como SQLIte)
• É possível guardar dados, arquivos, imagens e etc. (MongoDB)
• É Open Source
Realm
• Realm não é um ORM, é um banco de dados orientado a objetos criado
especificamente para mobile
• Feito em C++
• Suporte nativo a Xamarin
• Além dos tipos primitivos (boolean, byte, short, int, long, float, double), Realm
também suporta String, Date e byte[]
• RealmObject, Transação e Mudança de View
Mais uma Coisa – Monkey Cache
• O objetivo do Monkey Cache é permitir que os desenvolvedores
armazenem facilmente os dados em cache por um período de tempo
limitado. Não é a missão do Monkey Cache lidar com solicitações de
rede para obter ou postar dados, apenas para armazenar dados em
cache facilmente.
• Settings + Bancos Móveis + Cache
Obrigado / Duvidas?
• “Toda vez que alguém fala “Chamarin”,Deus mata um panda”
• twitter.com/tbertuzzi
• github.com/tbertuzzi
• nuget.org/profiles/Bertuzzi
• medium.com/@bertuzzi
• bertuzzi.dev

Mais conteúdo relacionado

Semelhante a Persistência e Bancos de Dados com Xamarin.Forms

Montando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tabletMontando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tablet
Heider Lopes
 
Montando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tabletMontando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tablet
Heider Lopes
 
Java EE netbeans
Java EE netbeansJava EE netbeans
Java EE netbeans
Reuel Lopes
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
Maurício Linhares
 

Semelhante a Persistência e Bancos de Dados com Xamarin.Forms (20)

DeskMetrics - Arquitetura, Python e NoSQL
DeskMetrics - Arquitetura, Python e NoSQLDeskMetrics - Arquitetura, Python e NoSQL
DeskMetrics - Arquitetura, Python e NoSQL
 
Montando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tabletMontando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tablet
 
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
 
Big Data
Big DataBig Data
Big Data
 
Phonegap - self RJ
Phonegap - self RJPhonegap - self RJ
Phonegap - self RJ
 
Trabalhando com banco de dados e Entity Framework
Trabalhando com banco de dados e Entity FrameworkTrabalhando com banco de dados e Entity Framework
Trabalhando com banco de dados e Entity Framework
 
Windows Phone 7 & Windows Azure
Windows Phone 7 & Windows AzureWindows Phone 7 & Windows Azure
Windows Phone 7 & Windows Azure
 
Sapo Sessions - Web Mobile
Sapo Sessions - Web MobileSapo Sessions - Web Mobile
Sapo Sessions - Web Mobile
 
Montando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tabletMontando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tablet
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
 
Java EE netbeans
Java EE netbeansJava EE netbeans
Java EE netbeans
 
Introduction to the Cloud
Introduction to the Cloud Introduction to the Cloud
Introduction to the Cloud
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
ORM e EF
ORM e EFORM e EF
ORM e EF
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQL
 
Apresentação sobre backups 12-11-16 by luciano oliveira
Apresentação sobre backups   12-11-16 by luciano oliveiraApresentação sobre backups   12-11-16 by luciano oliveira
Apresentação sobre backups 12-11-16 by luciano oliveira
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internet
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 

Mais de Thiago Bertuzzi

Mais de Thiago Bertuzzi (20)

Secure Coding with OWASP & SSDLC.pptx
Secure Coding with OWASP & SSDLC.pptxSecure Coding with OWASP & SSDLC.pptx
Secure Coding with OWASP & SSDLC.pptx
 
Cobertura de Código: Testes de Unidade
Cobertura de Código: Testes de UnidadeCobertura de Código: Testes de Unidade
Cobertura de Código: Testes de Unidade
 
Domain Driven Design : Pensando Fora da Caixa
Domain Driven Design : Pensando Fora da CaixaDomain Driven Design : Pensando Fora da Caixa
Domain Driven Design : Pensando Fora da Caixa
 
Código Seguro
Código SeguroCódigo Seguro
Código Seguro
 
MAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesMAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidades
 
Criando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.FormsCriando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.Forms
 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
 
Do Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealDo Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso Real
 
Plugins e Controles para Xamarin.Forms Canal.net DevWeek
Plugins e Controles para Xamarin.Forms Canal.net DevWeekPlugins e Controles para Xamarin.Forms Canal.net DevWeek
Plugins e Controles para Xamarin.Forms Canal.net DevWeek
 
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
 
4 Apps que todo Desenvolvedor Xamarin deveria fazer
4 Apps que todo Desenvolvedor Xamarin deveria fazer4 Apps que todo Desenvolvedor Xamarin deveria fazer
4 Apps que todo Desenvolvedor Xamarin deveria fazer
 
Novidades de Xamarin e Visual Studio for Mac no .Net Conf
 Novidades de Xamarin e Visual Studio for Mac no .Net Conf Novidades de Xamarin e Visual Studio for Mac no .Net Conf
Novidades de Xamarin e Visual Studio for Mac no .Net Conf
 
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
 
Boas Práticas com Xamarin Forms 
Boas Práticas com Xamarin Forms Boas Práticas com Xamarin Forms 
Boas Práticas com Xamarin Forms 
 
Xamarin.Forms : O Poder do XAML, criando interfaces incríveis
Xamarin.Forms : O Poder do XAML, criando interfaces incríveisXamarin.Forms : O Poder do XAML, criando interfaces incríveis
Xamarin.Forms : O Poder do XAML, criando interfaces incríveis
 
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
 
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
 
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For MacNovidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
 
Boas praticas com Prism
Boas praticas com PrismBoas praticas com Prism
Boas praticas com Prism
 
Porque Xamarin.Forms é Incrivel - MVPConfLatam2019
Porque Xamarin.Forms é Incrivel - MVPConfLatam2019Porque Xamarin.Forms é Incrivel - MVPConfLatam2019
Porque Xamarin.Forms é Incrivel - MVPConfLatam2019
 

Persistência e Bancos de Dados com Xamarin.Forms

  • 1. Persistência e Bancos de Dados com Xamarin.Forms #ifoodFriends
  • 2. It´s-a me Bertuzzi • Thiago Bertuzzi é desenvolvedor .net há 12 anos participando de projetos Desktop, Services, Web e Mobile utilizando Xamarin. • É Microsoft MVP em Developer Technologies • É Líder técnico na NESS • Contribui para comunidade Xamarin escrevendo artigos, compartilhando códigos, palestrando e criando pacotes Nuget.
  • 3. Web Api • Consumo de WebAPI • E se meu App ficar off-line? • Que dados ainda posso acessar? • A experiência do usuário será prejudicada? • Devo guardar todos os dados no meu App ?
  • 4. Persistência de Dados Banco de Dados para Dispositivos Móveis são todos ruins... Se usados da maneira errada ... :D Bancos “Móveis” não são SGBD
  • 5. Persistência de Dados • Utilizamos SQLIte se tivermos a necessidade de ter um cenário de dados em modo desconectado
  • 6. Dados Locais • Xamarin.Essentials • Não utiliza bancos de dados • Grava os dados por plataforma • Cuidado com o que armazena
  • 7. LiteDB • LiteDB é uma solução de banco de dados NoSQL simples e rápida. • Mauricio David (Brasillllllllllll !!!!!!!! ) • Desenvolvido em C# • Compatível com .NET 3.5, 4.x, NETStandard 1.3 e 2.0 • Possui um arquivo Único (como SQLIte) • É possível guardar dados, arquivos, imagens e etc. (MongoDB) • É Open Source
  • 8. Realm • Realm não é um ORM, é um banco de dados orientado a objetos criado especificamente para mobile • Feito em C++ • Suporte nativo a Xamarin • Além dos tipos primitivos (boolean, byte, short, int, long, float, double), Realm também suporta String, Date e byte[] • RealmObject, Transação e Mudança de View
  • 9. Mais uma Coisa – Monkey Cache • O objetivo do Monkey Cache é permitir que os desenvolvedores armazenem facilmente os dados em cache por um período de tempo limitado. Não é a missão do Monkey Cache lidar com solicitações de rede para obter ou postar dados, apenas para armazenar dados em cache facilmente. • Settings + Bancos Móveis + Cache
  • 10. Obrigado / Duvidas? • “Toda vez que alguém fala “Chamarin”,Deus mata um panda” • twitter.com/tbertuzzi • github.com/tbertuzzi • nuget.org/profiles/Bertuzzi • medium.com/@bertuzzi • bertuzzi.dev