Timothy Marland

Build Delightful Mobile Experiences with Kotlin, Realm, and Atlas Device Sync

Stop writing complex sync logic. Build delightful, offline-first mobile apps with live objects, Kotlin, and Atlas Device Sync.

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.
tree-IT GmbH

tree-IT GmbH
Bad Neustadt an der Saale, Germany

54-80K
Intermediate
Senior
Java
TypeScript
+1

Featured Partners

Related Articles

View all articles
DC
Daniel Cranney
Why Attend a Developer Event?
Modern software engineering moves too fast for documentation alone. Attending a world-class event is about shifting from tactical execution to strategic leadership. Skill Diversification: Break out of your specific tech stack to see how the industry...
Why Attend a Developer Event?

From learning to earning

Jobs that call for the skills explored in this talk.

Android developer

IDB Mobile Technology
Municipality of Marbella, Spain

Intermediate
Java
REST
Kotlin