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.
Matching moments
02:19 MIN
Using Realm for real-time data synchronization
From Zero to Mobile Developer in 45 Minutes With SwiftUI
Unlock full access
Log in or set up an account to access this feature and more.
05:36 MIN
Introducing MongoDB Atlas and the Realm serverless platform
40 Minutes to Build a Serverless COVID-19 REST and GraphQL APIs
Unlock full access
Log in or set up an account to access this feature and more.
01:06 MIN
Verifying real-time sync with MongoDB Atlas
From Zero to Mobile Developer in 45 Minutes With SwiftUI
Unlock full access
Log in or set up an account to access this feature and more.
07:41 MIN
Answering audience questions about mobile development
From Zero to Mobile Developer in 45 Minutes With SwiftUI
Unlock full access
Log in or set up an account to access this feature and more.
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
Unlock full access
Log in or set up an account to access this feature and more.
02:59 MIN
The mobile era of small screens and intermittent connections
Closing Keynote by Joel Spolsky
Unlock full access
Log in or set up an account to access this feature and more.
04:17 MIN
Meeting modern application and data platform demands
Tomorrow's cloud data platforms - fully managed database-as-a-service (DBaaS)
Unlock full access
Log in or set up an account to access this feature and more.
06:58 MIN
Introducing MongoDB Atlas as a unified solution
Protector Of The Realm
Unlock full access
Log in or set up an account to access this feature and more.
Featured Partners
Related Videos
Introducing Kotlin Multiplatform in an existing project
Marco Gomiero
Mobile at a Crossroads: The Declarative UI App Revolution
Peter Steinberger
Offline first & automatic data synchronisations for your web and mobile applications
Sebastien Stormacq
Protector Of The Realm
Sani Yusuf
Back(end) to the Future: Embracing the continuous Evolution of Infrastructure and Code
Matthias Falkenberg & Timo Knapp
From Zero to Mobile Developer in 45 Minutes With SwiftUI
Andrew Morgan
Tackling Complexity With Functional Programming And Kotlin
Georg Dresler
Kotlin Multiplatform - True power of native code reuse
Petar Marijanović
Related Articles
View all articles



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


Aufmaster GmbH
Frankfurt, Germany
Intermediate
Senior
GIT
Kotlin

Car2Go
Hamburg, Germany
Senior
Kotlin
RxJava
Android
User-centred Design
Dependency Injection




