AppForce1 Worklog

Twitter Space on Storage options on iOS


Listen Later

Send me a text

This Twitter Space Stefan and I share some thoughts on what options you have in storing data on a device and in the cloud on/from iOS.

1. What is the goal of this space?

We won’t give you exact recommendations, storage is highly dependent on maaaany factors!

  • Type of data to be stored (e.g. Booleans, Strings, Images, Large objects)
  • Volume of data to be stored (e.g. settings options, notes app that saves users notes, offline backup for social network data)
  • Needs to work offline?
  • Sensitive data (encryption, data privacy, GDPR)
  • Backed up?

2. What local options are there?

  • UserDefaults
    • Most basic option for small settings data (recommended use from Apple)
    • Optimised for UIKit + SwiftUI
    • Only locally available
  • Simple local file (e.g. Text, JSON)
    • More freedom to use a structure you want
    • More risks because you have to handle all by yourself
  • Local database (e.g. SQLite)
    • provides more powerful options for querying, etc.
    • there are wrappers around it / libraries for easier usage
    • you have to know what you’re doing
  • CoreData
    • most powerful local option
    • can have a steep learning curve
    • gives you a lot of power and flexibility

3. What online options are there?

  • CloudKit
    • Apple’s cross-platform solution
      • can but does not have to be used with CoreData
    • Stefan: planning to use it for a side-project but haven’t used it before
    • great to sync data between user’s devices: iOS/tvOS/iPadOS/macOS/watchOS
    • limitation: only Apple ecosystem
    • mixing reports: some people had syncing issues some didn’t
  • Firebase / Realm / AWS Amplify / Azure probably has a solution as well
    • necessary for apps with collaborative features (or maybe as a convenience for account-functionality)
    • platform-agnostic
      • share data between iOS/Android/Windows/Mac/Web
    • be aware of something called “vendor lock-in”
    • pricing is something to keep track of
      • there are horrible stories of people having incredibly high bills because of loops/bugs they had in their code
    • you give up control for convenience
      • not a bad thing but important to keep in mind

Join me in Amsterdam for Do iOS 2025, tickets and details available now.

Lead Software Developer 
Learn best practices for being a great lead software developer.

PodMatch
PodMatch Automatically Matches Ideal Podcast Guests and Hosts For Interviews

Support the show

Do iOS: https://do-ios.com


Rate me on Apple Podcasts.

Send feedback on SpeakPipe
Or contact me:

  • Mastodon: https://hachyderm.io/@appforce1
  • X: https://x.com/appforce1
  • BlueSky: https://bsky.app/profile/appforce1.net
  • LinkedIN: https://www.linkedin.com/in/leenarts/

Support my podcast with a monthly subscription, it really helps.

My book: Being a Lead Software Developer

...more
View all episodesView all episodes
Download on the App Store

AppForce1 WorklogBy Jeroen Leenarts

  • 5
  • 5
  • 5
  • 5
  • 5

5

4 ratings


More shows like AppForce1 Worklog

View all
Grammar Girl Quick and Dirty Tips for Better Writing by QuickAndDirtyTips.com

Grammar Girl Quick and Dirty Tips for Better Writing

2,847 Listeners

Under the Radar by Relay

Under the Radar

213 Listeners