Machi iOS 的离线优先架构拆解
Machi iOS 是一个城市本地生活与同城社交客户端,功能覆盖信息流、发布、评论、点赞、收藏、关注、私信、通知、城市频道和话题。
技术结构
- SwiftUI 负责声明式界面和 NavigationStack 路由。
- SwiftData 负责本地持久化、版本化 Schema 和迁移恢复。
- Repository 层封装本地数据读写。
- Service 层处理认证、网络、同步、媒体缓存和地区目录。
- Keychain 保存登录 Token,避免凭据落入明文存储。
离线优先
App 可以离线浏览和起草内容,联网并登录后再由 RemoteSyncService 与统一后端对齐。这个设计让 iOS 不是一个单纯 Web API 壳,而是拥有本地韧性的原生客户端。
关键判断
我选择无第三方依赖,是为了让系统边界更清楚。SwiftUI、SwiftData、Foundation、Security 和 Network 已经足够支撑一个可运行、可维护的第一版。