Canonical Stack for iOS Applications
Create a modularized architecture for scalable native iOS applications. The architecture should support the following requirements:
- Local persistence of data to support offline usage
- Authentication using different providers
- Reactive view updates when state changes
- Layered abstraction of data access and domain logic
- Small dependency footprint
For local data persistence I'm considering to use SharingGRDB, a lightweight replacement for SwiftData and a type-safe query builder for SQLite.
SQLite is embedded into every iOS device.
For the view layer I will use SwiftUI.