mcpField
S
swift-optimise

swift-optimise

github.com/pproenca开发218282 次安装11 周前更新
代码仓库

关于 swift-optimise

面向 Swift 和 SwiftUI 应用开发者的性能指南,含 19 条规则,涉及并发、渲染、滚动和动画。目标版本为 iOS 26 与 Swift 6.2,并基于指定的模块化 MVVM-C 架构。

主要功能

  1. 01三类共 19 条规则
  2. 02Swift 6 并发指南
  3. 03SwiftUI 渲染与滚动建议
  4. 04动画性能实践
  5. 05基于模块化 MVVM-C 架构

适用场景

  1. 01将代码迁移至 Swift 6 并发
  2. 02用 async/await 替换 Combine 发布者
  3. 03改善滚动和渲染性能
  4. 04审查 SwiftUI 动画实现

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill swift-optimise

安装后在 Claude Code 中输入/swift-optimise确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

metadata.json
assets/templates/
_template.md
references/
_sections.md
anim-gesture-driven.md
anim-matchedgeometry.md
anim-spring.md
anim-transition-effects.md
anim-with-animation.md
conc-actor-for-shared-state.md
conc-asyncsequence-streams.md
conc-combine-to-async.md
conc-mainactor-isolation.md
conc-swift6-sendable.md
conc-task-id-pattern.md
perf-async-image.md
perf-canvas-timeline.md
perf-drawinggroup.md
perf-equatable-views.md
perf-instruments-profiling.md
perf-lazy-containers.md
perf-task-modifier.md
perf-view-decomposition.md

详细介绍

Apple Swift/SwiftUI 性能优化最佳实践

Swift 和 SwiftUI 性能优化综合指南。包含 3 个类别中的 19 条规则,涵盖现代并发、渲染性能和动画性能。面向 iOS 26 / Swift 6.2,使用 @Observable 和 Swift 6 严格并发。

诊所架构约定(iOS 26 / Swift 6.2)

本技能中的所有指南均基于诊所模块化 MVVM-C 架构:

  • 功能模块仅导入 Domain 和 DesignSystem(绝不导入 Data 或同级功能模块)
  • App target 是汇聚点,拥有 DependencyContainer、具体协调器和 Route Shell 接线
  • Domain 保持为纯 Swift,并定义模型以及 repository、*Coordinating、ErrorRouting 和 AppError 契约
  • Data 负责 SwiftData/网络/同步/重试/后台 I/O,并实现 Domain 协议
  • 读写流程默认采用过期后重新验证的读取方式和乐观排队写入
  • ViewModel 直接调用 repository 协议(默认不设 use-case/interactor 层)

适用场景

在以下情况下参考这些指南:

  • 迁移到 Swift 6 严格并发(Sendable、actor 隔离)
  • 将 Combine 发布者替换为 async/await
  • 实现 @MainActor 隔离和基于 actor 的并发
  • 拆分视图以缩小状态失效影响范围
  • 使用惰性容器优化滚动和渲染性能
  • 使用 Canvas/TimelineView 实现高性能渲染
  • 优化前使用 SwiftUI Instruments 进行性能分析
  • 构建高性能弹簧动画和转场

按优先级划分的规则类别

优先级类别影响前缀
1并发与异步严重conc-
2渲染与滚动性能高perf-
3动画性能中anim-

快速参考

1. 并发与异步(严重)
2. 渲染与滚动性能(高)
3. 动画性能(中)

使用方法

阅读各个参考文件,了解详细说明和代码示例:

参考文件

文件描述
references/_sections.md类别定义和排序
assets/templates/_template.md新规则模板

评论

支持 Markdown