Timothy Marland
Build Delightful Mobile Experiences with Kotlin, Realm, and Atlas Device Sync
#1about 1 minute
The challenge of building offline-first mobile apps
Users expect a fast, reactive experience which requires local data and a complex, custom-built synchronization layer to a primary database.
#2about 3 minutes
The complexity of building a custom sync solution
Building a custom synchronization layer involves object-relational mapping, error handling, and conflict resolution, which is undifferentiated heavy lifting.
#3about 4 minutes
Introducing Realm and Atlas Device Sync for mobile
Realm is an object-oriented mobile database with live objects, while Atlas Device Sync provides an out-of-the-box synchronization layer.
#4about 1 minute
A sample architecture for an online retail application
An online retail example demonstrates how GraphQL, Kafka, and Atlas Device Sync can all connect different services to a central MongoDB Atlas database.
#5about 2 minutes
Understanding the mechanics of Atlas Device Sync
Changes are written locally, sent via websocket, converted to MongoDB documents, and synchronized using operational transforms to handle conflicts.
#6about 2 minutes
Implementing granular data permissions and access control
Atlas Device Sync allows for defining specific read and write permissions at the document and even field level for different user roles.
#7about 2 minutes
Using data ingest for one-way IoT data flow
The data ingest feature is optimized for one-way data flows from sources like IoT sensors, skipping conflict resolution for higher efficiency.
#8about 4 minutes
Setting up a sample real-time sync application
A walkthrough shows how to create a new application from a template in the MongoDB Atlas UI and pull the starter code using the Realm CLI.
#9about 2 minutes
Demonstrating real-time and offline data synchronization
A live demo with a to-do list app on two devices shows how data syncs instantly online and automatically resolves changes after a period of being offline.
#10about 2 minutes
Demonstrating dynamic permission rule enforcement
The demo shows how server-side permission rules prevent unauthorized writes and how changing a rule in the cloud immediately affects client behavior.
Related jobs
Jobs that call for the skills explored in this talk.
PROSOZ Herten GmbH
Herten, Germany
€47-70K
Junior
Intermediate
Senior
Java
Technoly GmbH
Berlin, Germany
Senior
JavaScript
Angular
+1
ROSEN Technology and Research Center GmbH
Osnabrück, Germany
Senior
TypeScript
React
+3
Matching moments
02:19 MIN
Using Realm for real-time data synchronization
From Zero to Mobile Developer in 45 Minutes With SwiftUI
05:36 MIN
Introducing MongoDB Atlas and the Realm serverless platform
40 Minutes to Build a Serverless COVID-19 REST and GraphQL APIs
07:41 MIN
Answering audience questions about mobile development
From Zero to Mobile Developer in 45 Minutes With SwiftUI
01:06 MIN
Verifying real-time sync with MongoDB Atlas
From Zero to Mobile Developer in 45 Minutes With SwiftUI
04:33 MIN
Q&A on large databases and offline work
Solve the “But it works on my machine!” problem with cloud-based development environments
02:59 MIN
The mobile era of small screens and intermittent connections
Closing Keynote by Joel Spolsky
02:43 MIN
On-device processing and cross-platform considerations
Let your iOS app read texts
05:19 MIN
Understanding the unique challenges of mobile apps at scale
Scalable architecture for mobile apps
Featured Partners
Related Videos
Introducing Kotlin Multiplatform in an existing project
Marco Gomiero
Mobile at a Crossroads: The Declarative UI App Revolution
Peter Steinberger
Tackling Complexity With Functional Programming And Kotlin
Georg Dresler
Offline first & automatic data synchronisations for your web and mobile applications
Sebastien Stormacq
Back(end) to the Future: Embracing the continuous Evolution of Infrastructure and Code
Matthias Falkenberg & Timo Knapp
Kotlin Multiplatform - True power of native code reuse
Petar Marijanović
From Zero to Mobile Developer in 45 Minutes With SwiftUI
Andrew Morgan
Challenges of building React and React Native apps
Milica Aleksic & Stefan Nikolic
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

SMG Swiss Marketplace Group
Canton de Valbonne, France
Senior

Grafana Labs
Remote
iOS
Java
Kotlin
Flutter
+2

Learnfield GmbH
Berlin, Germany
API
C++
iOS
Kotlin
Objective-C

The White Team
Municipality of Bilbao, Spain
Intermediate
GIT
Java
JUnit
Gradle
Groovy
+5

Grafana Labs
Remote
£103-124K
iOS
Java
Kotlin
+3


Randstad
Municipality of Madrid, Spain
Remote
Senior
.NET
Kotlin
Data analysis

Fincons Group Ag
Lugano, Switzerland
Remote
Intermediate
iOS
REST
Kotlin
Agile Methodologies

CreateFuture
Leeds, United Kingdom
Remote
Senior
iOS
Kotlin
Android
Unit Testing