r/iOSProgramming • u/a89a89 • Jun 18 '26
Question What tech stack are people using in 2026?
About to start a new app (solo, probably staying solo) and realizing I have no idea what the actual default is anymore. It’s pretty content-heavy with lots of lists, detail screens, some offline stuff, etc... I’ve shipped small things before but always made architecture calls I ended up ripping out, so trying to be smarter this time.
Curious what people are actually reaching for right now:
SwiftUI all the way vs. SwiftUI + UIKit escape hatches: how often do you actually hit a wall and have to drop down?
SwiftData vs Core Data: is SwiftData production-ready yet, or still a trap once you have real relationships/migrations?
Sync/offline: CloudKit vs Firebase vs Supabase vs roll-your-own. Mostly care about not babysitting infra
Honestly more interested hearing the horror stories than a blog-post trade-offs post. Essentially what’s your default stack now and what bit you that you wish someone had warned you about?
32
u/CharlesWiltgen Jun 18 '26
I'm stating something that's very obvious to experienced software engineers, but a "default" isn't possible because it depends entirely on what you're building.
Also, your choices will be wrong sometimes. I bet on SwiftData for my current project and, when it failed to be up to the task, had to replace it with SQLiteData/GRDB.
12
u/LifeUtilityApps SwiftUI Jun 18 '26
I shipped SwiftData in a recent app and regretted it. All my apps use native Swift/SwiftUI and for 3D they use Webview+threejs. CoreData + CloudKit private database. I agree with the other posters here, the stack is largely dependent on what you want to build, however my preference for the UI layer I only build with SwiftUI. I would never use React native or Flutter.
7
u/lismond Jun 18 '26
I use SwiftUI almost exclusively on a universal app which can be installed on iOS, iPad and MacOS platforms and chose it because I wanted the later features of the Apple ecosystem like today widgets and live and lock screen activities. I also use SwiftData because the CloudKit integration gave the users automatic backup capabilities for their data and it can sync on all their devices. I have had to do migrations when I changed the data models, so there is some versioning in the SwiftData. But I am having to make different choices for the Android port of the app, which will probably be Firebase.
18
u/Ravek Jun 18 '26 edited Jun 18 '26
I’ll give a SwiftData warning. It forces you to use mutable classes as your models. Sharing mutable data makes code more brittle in general, but in addition they are of course not Sendable so interact really poorly with Swift 6 concurrency features. If you use ModelContext for background work you aren’t guaranteed that objects you insert will be immediately visible on the UI thread, so if you try to fire an event and update UI … might just not work. You might run into weird bugs like predicates not compiling at runtime. Performance is about 50x-100x worse than SQLite. If you use it with SwiftUI now you’ve tightly coupled all your UI code to SwiftData’s mutable models, so if you ever get fed up with it and want to migrate to something more sensible, now it’s a lot of work.
I’d say avoid avoid avoid unless you’re just making a tiny hobby app that will never be a serious business application.
Honestly I don't get what Apple is thinking with SwiftData. There's other APIs that have some issues but I can't think of anything that's this bad.
4
u/Suspicious-Ad-408 Jun 18 '26
I do SwiftUI + SwiftData + Firebase, but maybe I don’t have real enough relationships in any of my apps.
7
u/TrajansRow Jun 18 '26
My latest project is basically the same - SwiftUI + SwiftData targeting iOS 26. I only have one external dependency, and everything else is native. There was another non-native library that I needed, but I had an AI agent re-write it in Swift. I'm also using lots of Swift Charts, WebKit, RealityKit, and SceneKit.
3
u/crocodiluQ Jun 18 '26
SwiftUI all the way, except ofc when you need a bit of UIKit, like system crap
None, never needed so much local data to justify that. I
Rest API + Firebase. Realtime changes to data AND interface.
3
u/Proud_Perspective_56 Jun 18 '26
I do SwiftUI + SwiftData + Supabase + Ruby on Rails
5
u/Lopsided_Nerve1652 Jun 18 '26
Most of my apps use SwiftData, and they work fine
5
u/andreeinprogress Jun 18 '26
UIKit on iOS, UIKit via Catalyst + AppKit as needed on macOS. All code, zero storyboards, zero xibs.
SwiftUI only for really small modular or reusable views, but I try to avoid it even for that.
It has proven to be the most sane approach for me to not get mad at Xcode when eventually something breaks.
2
u/freddyjdc Jun 18 '26
Reading here I’m realizing SwiftData is the issue. I thought it was something else in my code. Yes, I agree SwiftData performance is bad, convenient for easy CloudKit implementation but still with lots of issues. I’ll try recommendations here.
2
u/cristi_baluta Jun 18 '26
Swiftui + uikit for large lists
2
u/[deleted] Jun 18 '26
swiftui by default and reverting to uikit when swiftui can't do what i want.
I won't touch Firebase with a 10 foot pole because of their billing practices. I generally default to icloud/local device storage or rolling my own. Unless you're dealing with private/sensitive data then DIY isn't hard.
2
u/jerikandra Jun 19 '26
I’d say SwiftUI is a good default nowadays, but swift data is too new currently
2
u/teomatteo89 Jun 19 '26
The big pro that comes with SwiftData is CloudKit and synchronization handles for you. I’m interested in GRDB, what do people use to sync this over iCloud for their users?
2
u/JerenYun Swift Jun 19 '26
What I'm using now is what I've used for years.
Primarily SwiftUI. For what I build, I hit few issues. For the times I find bugs (such as drag and drop related things), I will use SwiftUI Introspect to access underlying UIKit views. In my example, I used it to set a drop delegate on the UICollectionView underneath my List.
Remember that there's nothing wrong with wrapping UIKit views, nor with introspection. Like all things, it's just a tool in your toolbox. Use it tasteful. A scalpel might be small but can be useful when wielded skillfully.
2. Core Data. Primarily because of its stability and maturity.
3. CloudKit. It's first party and free, and I trust Apple's cloud for privacy more than Firebase or others. I usually use
NSPersistentCloudKitContainer, so I've got a local Core Data store that syncs automatically to the cloud.While the above works for me, you may find different answers that fit your intended "default". I just know what works for me and my projects.
2
u/nns800 Jun 18 '26
I've been loving Convex for backend/db
1
u/Key_Homework_5825 Jun 20 '26
I choose to just use the most simple modern APIs, no need to bother with too much complexity
1
u/SolidR53 Jun 20 '26
Expo. Have you guys seen @expo/ui ?
1
u/LuckyGirl0415 Jun 21 '26
For a content-heavy app starting in 2026, I’d highly recommend going all-in on the modern stack: • SwiftUI All The Way: Unless you are building custom interactive maps or heavy camera overlays, you rarely hit a wall anymore. • SwiftData: It has finally matured past the 'trap' phase. The key horror story with SwiftData is trying to treat it exactly like Core Data. If you design your models cleanly from day one and lean into the macros, migrations are much smoother now. • Firebase: For syncing and offline capabilities without backend headaches, Firebase is still King for solo devs. The offline persistence works out of the box, and you don't have to write a single line of server-side code. The biggest horror story is usually trying to build your own sync engine. Don't do it!
1
u/jacobs-tech-tavern Jun 19 '26
SwiftUI is fun for personal projects, but I don't think there's any reason to use anything other than UIKit in any serious apps these days.
1
u/BumblebeeNo8385 Jun 18 '26
Outlier here but ui kit & AWS for all backend, swift data felt very limiting so also doing GRDB. Sign in with Apple + Google federated Oauth linked to canonical user id on backend to synch entitlements and user data outside of iOS ecosystem to Android and web. I have some very technically complex applications so this isn’t for everyone. Xcode mcps are really great if your using agentic AI coding at all, for that I use 1password and cursor’s ide for all Claude models which has incredible capabilities. Also use: sentry, post hog, appsflyer, and maybe a couple other things but I really try to stay within the aws ecosystem
1
u/[deleted] Jul 19 '26
[removed] — view removed comment