46 min

Twitter Space on Storage options on iOS AppForce1: news and info for iOS app developers

    • Technology

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?
UserDefaultsMost basic option for small settings data (recommended use from Apple)Optimised for UIKit + SwiftUIOnly locally availableSimple local file (e.g. Text, JSON)More freedom to use a structure you wantMore risks because you have to handle all by yourselfLocal database (e.g. SQLite)provides more powerful options for querying, etc.there are wrappers around it / libraries for easier usageyou have to know what you’re doingCoreDatamost powerful local optioncan have a steep learning curvegives you a lot of power and flexibility3. What online options are there?
CloudKitApple’s cross-platform solutioncan but does not have to be used with CoreDataStefan: planning to use it for a side-project but haven’t used it beforegreat to sync data between user’s devices: iOS/tvOS/iPadOS/macOS/watchOSlimitation: only Apple ecosystemmixing reports: some people had syncing issues some didn’tFirebase / Realm / AWS Amplify / Azure probably has a solution as wellnecessary for apps with collaborative features (or maybe as a convenience for account-functionality)platform-agnosticshare data between iOS/Android/Windows/Mac/Webbe aware of something called “vendor lock-in”pricing is something to keep track ofthere are horrible stories of people having incredibly high bills because of loops/bugs they had in their codeyou give up control for conveniencenot a bad thing but important to keep in mindSelf-hosted via AWS / Google Cloud / Azure / Supabase / Roll your own solution4. Some recommendations
Start small and work your way upThere are a lot of options out there, so not easy to find the correct one, but what helps is:Think about the type of data you want to storeWhen does it need to be available (online vs. offline)How secure does the data need to be stored?

Please rate me on Apple Podcasts.
Send me feedback on SpeakPipe
Or contact me through twitter
Newsletter, sign up!
My book: Being a Lead Software Developer
RunwayPut your mobile releases on autopilot and keep the whole team in sync throughout.
Lead Software Developer Learn best practices for being a great lead software developer.
Support the show

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?
UserDefaultsMost basic option for small settings data (recommended use from Apple)Optimised for UIKit + SwiftUIOnly locally availableSimple local file (e.g. Text, JSON)More freedom to use a structure you wantMore risks because you have to handle all by yourselfLocal database (e.g. SQLite)provides more powerful options for querying, etc.there are wrappers around it / libraries for easier usageyou have to know what you’re doingCoreDatamost powerful local optioncan have a steep learning curvegives you a lot of power and flexibility3. What online options are there?
CloudKitApple’s cross-platform solutioncan but does not have to be used with CoreDataStefan: planning to use it for a side-project but haven’t used it beforegreat to sync data between user’s devices: iOS/tvOS/iPadOS/macOS/watchOSlimitation: only Apple ecosystemmixing reports: some people had syncing issues some didn’tFirebase / Realm / AWS Amplify / Azure probably has a solution as wellnecessary for apps with collaborative features (or maybe as a convenience for account-functionality)platform-agnosticshare data between iOS/Android/Windows/Mac/Webbe aware of something called “vendor lock-in”pricing is something to keep track ofthere are horrible stories of people having incredibly high bills because of loops/bugs they had in their codeyou give up control for conveniencenot a bad thing but important to keep in mindSelf-hosted via AWS / Google Cloud / Azure / Supabase / Roll your own solution4. Some recommendations
Start small and work your way upThere are a lot of options out there, so not easy to find the correct one, but what helps is:Think about the type of data you want to storeWhen does it need to be available (online vs. offline)How secure does the data need to be stored?

Please rate me on Apple Podcasts.
Send me feedback on SpeakPipe
Or contact me through twitter
Newsletter, sign up!
My book: Being a Lead Software Developer
RunwayPut your mobile releases on autopilot and keep the whole team in sync throughout.
Lead Software Developer Learn best practices for being a great lead software developer.
Support the show

46 min

Top Podcasts In Technology

Jason Calacanis
Lex Fridman
Jack Rhysider
NPR
Gimlet
PJ Vogt