SlideShare a Scribd company logo
Store your app's data using Realm
From Mobile to MongoDB
Diego Freniche
Developer Advocate
dfreniche@mastodon.social
www.linkedin.com/in/dfreniche
WELCOME!
Agenda
What’s MongoDB?
What's MongoDB Atlas?
Do we need another mobile data base?
Realm
Demo: iOS SwiftUI Realm App + Atlas Device
Sync
Other Mobile platforms: resources
What’s MongoDB?
MongoDB
Repos!
Why was MongoDB created?
… to help developers move from idea to global scale as
quickly & easily as possible
From Mobile to MongoDB: Store your app's data using Realm
What’s MongoDB
Atlas?
From Mobile to MongoDB: Store your app's data using Realm
Do we need another
mobile data base?
iOS
Android
Room
SQLite
Firebase
ORMs
SharedPreferences
😅
Core Data
SQLite
Firebase
ORMs
NSUserDefaults 😅
Realm
CUSTOMER
BRIEF
A simple
App?
At least Two Mobile Apps & a Backend
Mobile devices with
local data
Data synchronization
Backend
database
Required to reflect changing data from
multiple users/devices to deliver a
consistent and reliable experience
Required for offline functionality,
app performance, and
responsiveness
Architecting a mobile app
Data
synchronization
JSON
NATIVE OBJECT
ORM
MSG QUEUE
BACKEND OBJECT
REST CALL
TO API
PUSH SERVICE
PUSH
NOTIFICATION
Sync solutions are complex, and rarely unique
Backend
database
Mobile devices
with local data
Data
synchronization
JSON
NATIVE OBJECT
ORM
MSG QUEUE
BACKEND OBJECT
REST CALL
TO API
PUSH SERVICE
PUSH
NOTIFICATION
COMPLEX RETRY &
ERROR HANDLING
POTENTIAL APP CRASH
OFFLINE?
INVALID DATA?
SERVER
ERROR?
TIMED OUT?
Backend
database
Mobile devices
with local data
Device and network limitations add complexity
Real-time experiences at scale require
complex conflict resolution
Data
synchronization
JSON
NATIVE OBJECT
ORM
MSG QUEUE
BACKEND OBJECT
REST CALL
TO API
PUSH SERVICE
PUSH
NOTIFICATION
COMPLEX RETRY &
ERROR HANDLING
POTENTIAL APP CRASH
OFFLINE?
WRITE CONFLICTS?
INVALID DATA?
SERVER
ERROR?
TIMED OUT?
Backend database
WRITE CONFLICTS?
Mobile devices
with local data
Without real-time data
connectivity, teams are left
in the dark and business
insights are inaccurate.
Data is siloed
Teams spend time reinventing
the wheel – and maintaining this
code – instead of innovating
proprietary technology.
Resources are wasted
A subpar user experience
pushes users to alternative
solutions, thwarting
business goals.
Goals are missed
Reinventing data synchronization is risky
MongoDB is the easiest way to build & scale mobile apps
Out-of-the-box device-cloud
synchronization
Mobile-optimized database
Ultra-lightweight and fast
Object-oriented; No ORM layer
Built-in network handling
Advanced security at rest & in-flight
Built-in conflict resolution
Granular, field-level permissions
The leading developer data
platform on the cloud
Functions
Triggers
GraphQL
DataAPI
Data Access Control
Atlas
Realm
Atlas Device Sync
Search Charts
Time Series
A single data layer across all platforms
WatchOS
Mobile devices
(iOS, Android)
Tablets
(iOS, Android, Windows)
Laptops, Desktops POS Systems
IoT (connected cars,
wearables,
equipment, etc.)
Atlas Device Sync
Atlas
Supported
frameworks
and languages
Swift/SwiftUI
Dart/Flutter
Kotlin/Kotlin Multiplatform
Java
JavaScript (React Native,
Node.js, Ionic, Electron)
.NET (Unity, Xamarin, MAUI)
C++ (alpha)
Realm & Atlas Device Sync
Local and offline data access with fast, efficient
device to cloud sync
Demo: iOS SwiftUI
Realm App + Atlas
Device Sync
Stop! Feedback
time!
Resources
Android KMM
- Android: https://github.com/mongodb-developer/TalkToMe-Android
- KMM: https://github.com/mongodb-developer/PassKeeper
- KMM: https://github.com/mongodb-developer/Conference-Queries-App
- React Native: https://github.com/mongodb-developer/read-it-later-maybe
Thank you for
your time.
Diego Freniche
Developer Advocate
dfreniche@mastodon.social
www.linkedin.com/in/dfreniche

More Related Content

What's hot (20)

PDF
Monitor Apache Spark 3 on Kubernetes using Metrics and Plugins
Databricks
 
PDF
ETL With Cassandra Streaming Bulk Loading
alex_araujo
 
PPTX
Graph database
Achintya Kumar
 
PPTX
Caching solutions with Redis
George Platon
 
PDF
Everything You Always Wanted to Know About Kafka's Rebalance Protocol but Wer...
confluent
 
PPTX
Introduction to Redis
Arnab Mitra
 
PDF
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
Kee Hoon Lee
 
PDF
Migrating from Struts 1 to Struts 2
Matt Raible
 
PPTX
NGINX: Basics & Best Practices - EMEA Broadcast
NGINX, Inc.
 
PPTX
Redis introduction
Federico Daniel Colombo Gennarelli
 
PDF
Understanding Presto - Presto meetup @ Tokyo #1
Sadayuki Furuhashi
 
PDF
Apache Spark with Scala
Fernando Rodriguez
 
PPTX
PostgreSQL and JDBC: striving for high performance
Vladimir Sitnikov
 
PPT
Introduction to redis
Tanu Siwag
 
PPTX
Spark sql
Zahra Eskandari
 
PPT
Nginx internals
liqiang xu
 
PPTX
Apache Spark Core
Girish Khanzode
 
PDF
High-speed Database Throughput Using Apache Arrow Flight SQL
ScyllaDB
 
PDF
Data ingestion and distribution with apache NiFi
Lev Brailovskiy
 
PPTX
Deep Dive : Spark Data Frames, SQL and Catalyst Optimizer
Sachin Aggarwal
 
Monitor Apache Spark 3 on Kubernetes using Metrics and Plugins
Databricks
 
ETL With Cassandra Streaming Bulk Loading
alex_araujo
 
Graph database
Achintya Kumar
 
Caching solutions with Redis
George Platon
 
Everything You Always Wanted to Know About Kafka's Rebalance Protocol but Wer...
confluent
 
Introduction to Redis
Arnab Mitra
 
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
Kee Hoon Lee
 
Migrating from Struts 1 to Struts 2
Matt Raible
 
NGINX: Basics & Best Practices - EMEA Broadcast
NGINX, Inc.
 
Understanding Presto - Presto meetup @ Tokyo #1
Sadayuki Furuhashi
 
Apache Spark with Scala
Fernando Rodriguez
 
PostgreSQL and JDBC: striving for high performance
Vladimir Sitnikov
 
Introduction to redis
Tanu Siwag
 
Spark sql
Zahra Eskandari
 
Nginx internals
liqiang xu
 
Apache Spark Core
Girish Khanzode
 
High-speed Database Throughput Using Apache Arrow Flight SQL
ScyllaDB
 
Data ingestion and distribution with apache NiFi
Lev Brailovskiy
 
Deep Dive : Spark Data Frames, SQL and Catalyst Optimizer
Sachin Aggarwal
 

Similar to From Mobile to MongoDB: Store your app's data using Realm (20)

PPTX
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
Amit Sheth
 
PPTX
GIS Technology & Mobile Applications - MTASC 2011 Conference
Jim Tochterman
 
PPTX
Microsoft Cloud-Native Workshop Slides
VMware Tanzu
 
PPTX
Mind the gap
Pietro F. Maggi
 
PPTX
DEV-1467 - Darwino
Jesse Gallagher
 
PPTX
Mobile Apps Develpment - A Comparison
Lataant Software Technologies
 
PDF
Understanding Native, Hybrid, and Web Mobile Architectures
Salesforce Developers
 
PPT
Live Mesh Presentation Bruno Svc
Wes Yanaga
 
PPTX
Mobile Connections: Rhomobile Training
Adam Blum
 
PDF
Google Developer Groups DEVELOPMENT WORKSHOP 2024.pdf
shauryarahlon10
 
PPT
RTI Data-Distribution Service (DDS) Master Class 2011
Gerardo Pardo-Castellote
 
PPT
cloud computing and android
Mohit Singh
 
PPTX
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
Abhishek Kant
 
PPT
Hybrid Cloud Service on the ThinkFree Mobile Android Platform
Benedict Ji
 
PDF
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
Amazon Web Services Korea
 
PDF
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB
Naoki (Neo) SATO
 
PPTX
IT TRENDS AND PERSPECTIVES 2016
Vaidheswaran CS
 
PPTX
Technology Trends 2013-2014 at HUI
KMS Technology
 
PPTX
Azure Mobile Services per Windows Phone e smartphones
Marco Parenzan
 
PPTX
Above the cloud joarder kamal
Joarder Kamal
 
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
Amit Sheth
 
GIS Technology & Mobile Applications - MTASC 2011 Conference
Jim Tochterman
 
Microsoft Cloud-Native Workshop Slides
VMware Tanzu
 
Mind the gap
Pietro F. Maggi
 
DEV-1467 - Darwino
Jesse Gallagher
 
Mobile Apps Develpment - A Comparison
Lataant Software Technologies
 
Understanding Native, Hybrid, and Web Mobile Architectures
Salesforce Developers
 
Live Mesh Presentation Bruno Svc
Wes Yanaga
 
Mobile Connections: Rhomobile Training
Adam Blum
 
Google Developer Groups DEVELOPMENT WORKSHOP 2024.pdf
shauryarahlon10
 
RTI Data-Distribution Service (DDS) Master Class 2011
Gerardo Pardo-Castellote
 
cloud computing and android
Mohit Singh
 
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
Abhishek Kant
 
Hybrid Cloud Service on the ThinkFree Mobile Android Platform
Benedict Ji
 
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
Amazon Web Services Korea
 
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB
Naoki (Neo) SATO
 
IT TRENDS AND PERSPECTIVES 2016
Vaidheswaran CS
 
Technology Trends 2013-2014 at HUI
KMS Technology
 
Azure Mobile Services per Windows Phone e smartphones
Marco Parenzan
 
Above the cloud joarder kamal
Joarder Kamal
 
Ad

More from Diego Freniche Brito (9)

PDF
Los mejores consejos para migrar de RDBMS a MongoDB.pptx.pdf
Diego Freniche Brito
 
PDF
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
Diego Freniche Brito
 
PDF
Functional Programming for Busy Object Oriented Programmers
Diego Freniche Brito
 
PDF
Cocoa pods iOSDevUK 14 talk: managing your libraries
Diego Freniche Brito
 
PDF
Swift as a scripting language iOSDevUK14 Lightning talk
Diego Freniche Brito
 
PDF
Charla XVII Beta Beers Sevilla: ¿Ágil? Como la rodilla de un click
Diego Freniche Brito
 
PDF
Core data WIPJam workshop @ MWC'14
Diego Freniche Brito
 
PDF
Core data intermediate Workshop at NSSpain 2013
Diego Freniche Brito
 
PDF
Core data basic Workshop slides NSSpain 2013
Diego Freniche Brito
 
Los mejores consejos para migrar de RDBMS a MongoDB.pptx.pdf
Diego Freniche Brito
 
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
Diego Freniche Brito
 
Functional Programming for Busy Object Oriented Programmers
Diego Freniche Brito
 
Cocoa pods iOSDevUK 14 talk: managing your libraries
Diego Freniche Brito
 
Swift as a scripting language iOSDevUK14 Lightning talk
Diego Freniche Brito
 
Charla XVII Beta Beers Sevilla: ¿Ágil? Como la rodilla de un click
Diego Freniche Brito
 
Core data WIPJam workshop @ MWC'14
Diego Freniche Brito
 
Core data intermediate Workshop at NSSpain 2013
Diego Freniche Brito
 
Core data basic Workshop slides NSSpain 2013
Diego Freniche Brito
 
Ad

Recently uploaded (20)

PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
July Patch Tuesday
Ivanti
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Python basic programing language for automation
DanialHabibi2
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 

From Mobile to MongoDB: Store your app's data using Realm

  • 1. Store your app's data using Realm From Mobile to MongoDB Diego Freniche Developer Advocate [email protected] www.linkedin.com/in/dfreniche WELCOME!
  • 2. Agenda What’s MongoDB? What's MongoDB Atlas? Do we need another mobile data base? Realm Demo: iOS SwiftUI Realm App + Atlas Device Sync Other Mobile platforms: resources
  • 5. Why was MongoDB created? … to help developers move from idea to global scale as quickly & easily as possible
  • 9. Do we need another mobile data base?
  • 11. Realm
  • 12. CUSTOMER BRIEF A simple App? At least Two Mobile Apps & a Backend
  • 13. Mobile devices with local data Data synchronization Backend database Required to reflect changing data from multiple users/devices to deliver a consistent and reliable experience Required for offline functionality, app performance, and responsiveness Architecting a mobile app
  • 14. Data synchronization JSON NATIVE OBJECT ORM MSG QUEUE BACKEND OBJECT REST CALL TO API PUSH SERVICE PUSH NOTIFICATION Sync solutions are complex, and rarely unique Backend database Mobile devices with local data
  • 15. Data synchronization JSON NATIVE OBJECT ORM MSG QUEUE BACKEND OBJECT REST CALL TO API PUSH SERVICE PUSH NOTIFICATION COMPLEX RETRY & ERROR HANDLING POTENTIAL APP CRASH OFFLINE? INVALID DATA? SERVER ERROR? TIMED OUT? Backend database Mobile devices with local data Device and network limitations add complexity
  • 16. Real-time experiences at scale require complex conflict resolution Data synchronization JSON NATIVE OBJECT ORM MSG QUEUE BACKEND OBJECT REST CALL TO API PUSH SERVICE PUSH NOTIFICATION COMPLEX RETRY & ERROR HANDLING POTENTIAL APP CRASH OFFLINE? WRITE CONFLICTS? INVALID DATA? SERVER ERROR? TIMED OUT? Backend database WRITE CONFLICTS? Mobile devices with local data
  • 17. Without real-time data connectivity, teams are left in the dark and business insights are inaccurate. Data is siloed Teams spend time reinventing the wheel – and maintaining this code – instead of innovating proprietary technology. Resources are wasted A subpar user experience pushes users to alternative solutions, thwarting business goals. Goals are missed Reinventing data synchronization is risky
  • 18. MongoDB is the easiest way to build & scale mobile apps Out-of-the-box device-cloud synchronization Mobile-optimized database Ultra-lightweight and fast Object-oriented; No ORM layer Built-in network handling Advanced security at rest & in-flight Built-in conflict resolution Granular, field-level permissions The leading developer data platform on the cloud Functions Triggers GraphQL DataAPI Data Access Control Atlas Realm Atlas Device Sync Search Charts Time Series
  • 19. A single data layer across all platforms WatchOS Mobile devices (iOS, Android) Tablets (iOS, Android, Windows) Laptops, Desktops POS Systems IoT (connected cars, wearables, equipment, etc.) Atlas Device Sync Atlas
  • 20. Supported frameworks and languages Swift/SwiftUI Dart/Flutter Kotlin/Kotlin Multiplatform Java JavaScript (React Native, Node.js, Ionic, Electron) .NET (Unity, Xamarin, MAUI) C++ (alpha)
  • 21. Realm & Atlas Device Sync Local and offline data access with fast, efficient device to cloud sync
  • 22. Demo: iOS SwiftUI Realm App + Atlas Device Sync
  • 25. Android KMM - Android: https://github.com/mongodb-developer/TalkToMe-Android - KMM: https://github.com/mongodb-developer/PassKeeper - KMM: https://github.com/mongodb-developer/Conference-Queries-App - React Native: https://github.com/mongodb-developer/read-it-later-maybe
  • 26. Thank you for your time. Diego Freniche Developer Advocate [email protected] www.linkedin.com/in/dfreniche