World Congress 2021 Jun 30, 2021

From Zero to Mobile Developer in 45 Minutes With SwiftUI

Andrew Morgan

Build an iOS live chat app from scratch in just 45 minutes. Ditch storyboards for SwiftUI's declarative state and seamlessly sync real-time data using MongoDB Realm.

Pause
Mute Enter Fullscreen
#1 about 1 min

Architecture of the SwiftUI and Realm chat application

How to combine SwiftUI views with the MongoDB Realm database to build a synced mobile chat application.

#2 about 3 min

Managing views and state in SwiftUI applications

How to structure user interfaces using vertical, horizontal, and depth stacks while passing state via bindings.

#3 about 3 min

Synchronizing offline data with MongoDB Realm and Atlas

Why partitioning chat room data allows efficient device storage and protects user security across synced mobile clients.

#4 about 5 min

Initializing an Xcode project and installing the Realm SDK

Setting up a new iOS application target and integrating the Realm package through the Swift Package Manager.

#5 about 3 min

Defining a persistent object model for chat messages

Extending the base Object class to define dynamic attributes for persisting message data in a robust database.

#6 about 7 min

Implementing user authentication with anonymous login credentials

Connecting frontend state to backend authentication systems to assign users unique identifiers without requiring passwords.

#7 about 4 min

Creating navigation view links for available chat rooms

Using navigation views to let users jump between independent screen partitions based on selected chat topics.

#8 about 5 min

Searching and sorting partitioned messages with observed results

Loading historical messages tied to a specific room partition and pushing live queries into the user interface.

#9 about 5 min

Capturing input text and appending records to Realm

Capturing new chat strings through text fields and appending localized objects directly to the live datastore.

#10 about 4 min

Injecting database configurations into SwiftUI application environments

Passing environment variables down the component tree so data partitions correctly isolate specific chat room documents.

#11 about 4 min

Configuring a MongoDB Atlas cluster and backend deployment

Provisioning a free cloud database cluster and mapping synchronization settings within the Realm web dashboard.

#12 about 7 min

Production scaling strategies and SwiftUI view styling techniques

Best practices for managing background threads and adjusting layout approaches when replacing traditional interface storyboards.

Matching moments

6:57 min

Setting up a native SwiftUI application in Xcode

MIlan Todorović MIlan Todorović · WWC 2025

2:47 min

Recapping serverless architectures and Swift cloud integrations

Sebastien Stormacq Sebastien Stormacq · LIVE

4:26 min

Analyzing SwiftUI as an internal domain specific language

Milan Todorović · WWC 2023

3:46 min

Introduction to Realm and Atlas Device Sync

Timothy Marland · WWC 2023

2:08 min

Reviewing Xcode implementations and Vision framework documentation reference resources

Milan Todorovic · WWC 2021

1:48 min

Overview of the target real-time application

Abdelrahman Awad Abdelrahman Awad · WWC 2025

Upcoming sessions on this topic

Open session

World Congress 2026 North America

Testing React Backends Like a Pro: Mocking Databases with SQLite

David Morris

Solution Architect

David Morris
Open session

World Congress 2026 North America

Full Stack with Flutter - are we there yet?

Nemanja Stošić

Senior Flutter Developer

Nemanja Stošić
Open session

World Congress 2026 North America

Architecting AI in Angular: WebMCP, A2UI, and the Agent Experience

Ankita Sood

Sr. Principal Engineer @ Secureworks | Angular GDE

Ankita Sood
Open session

World Congress 2026 North America

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

One Repo, One Strategy: Scalable Full-Stack Testing in a Monorepo World

Bartosz Leczycki, Paweł Matynia

Bartosz Leczycki
Paweł Matynia
Open session

World Congress 2026 North America

GitHub’s Team X-Ray: Your Repository Knows More About Your Team Than Your Team Does

Andrea Griffiths

Senior Developer Advocate

Andrea Griffiths