Twitter Space on Storage options on iOS

04/04/2022 47 min
Twitter Space on Storage options on iOS

Listen "Twitter Space on Storage options on iOS"

Episode Synopsis

Send me a textThis 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 recommendationsStart small and work yoJoin 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.Support the showDo iOS: https://do-ios.com Rate me on Apple Podcasts. Send feedback on SpeakPipeOr 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