核心功能
fosmvvm-swiftui-view-generator 是专为 FOSMVVM 架构设计的 SwiftUI 视图代码生成工具。该 skill 根据已定义的 ViewModel 自动生成对应的 SwiftUI 视图,严格遵循 ViewModelView 模式——视图作为薄渲染层,仅负责展示 ViewModel 提供的数据,不做任何数据转换或计算。
显著优点
1. 架构规范性:强制实施 FOSMVVM 设计原则,包括 ViewModelView 协议 conformance、operations 模式、错误处理、验证集成等,确保代码库的一致性
2. 多视图类型支持:涵盖 Display-Only(纯展示)、Interactive(交互型)、Form(表单验证)、Container(容器组合)四种核心视图模式
3. 测试基础设施:自动生成 DEBUG 专用的 repaintToggle 和 testDataTransporter,支持 UI 测试的数据传输需求
4. 类型安全:通过 ViewModelId 精确控制 SwiftUI 视图身份,避免更新异常;拒绝 any ViewModel existentials,保持强类型
5. 本地化友好:内置 Localizable 协议集成,避免强制解包反模式
6. 文件命名对齐:强制 View 文件名与 ViewModel 名称匹配,提升代码可发现性和可维护性
潜在局限
- 生态绑定:专为 FOSMVVM 定制,无法直接用于其他 MVVM 变体或架构模式
- 前置依赖:要求 ViewModel 和 ViewModelOperations 已存在,需配合使用
fosmvvm-viewmodel-generator - 平台限制:仅支持 Darwin 平台(macOS/iOS)
- 版本新鲜度:2026年1月初始版本,生产环境验证周期较短
适合人群
- 采用 FOSMVVM 架构的 iOS/macOS 开发团队
- 需要批量生成标准化 SwiftUI 视图的开发者
- 追求架构一致性、重视 UI 测试覆盖的项目
常规风险
- ViewModelId 误用:使用
.init()而非.init(type:)或.init(id:)会导致 SwiftUI 视图更新异常 - 操作遗漏:忘记在操作调用后执行
toggleRepaint()会破坏测试基础设施 - 命名不匹配:View 与 ViewModel 文件名不一致会降低代码可发现性
- 强类型约束:对习惯松散 MVVM 实现的开发者有学习曲线
代码生成示例
生成的视图包含:protocol conformance、property 声明(viewModel/operations/repaintToggle)、body 渲染逻辑、init 注入、action 方法、preview 配置,完整覆盖 FOSMVVM 规范要求。