mcpField
S
swift-optimise

swift-optimise

github.com/pproenca開発218282 回インストール11 週間前に更新
リポジトリ

swift-optimise について

SwiftおよびSwiftUIアプリの開発者向けパフォーマンスガイドです。並行処理、描画、スクロール、アニメーションを扱う19のルールがあり、iOS 26、Swift 6.2と所定のモジュール型MVVM-Cアーキテクチャを前提とします。

主な機能

  1. 013カテゴリ、19のルール
  2. 02Swift 6の並行処理ガイド
  3. 03SwiftUIの描画とスクロール
  4. 04アニメーション性能の実践
  5. 05モジュール型MVVM-Cを前提

活用シーン

  1. 01Swift 6の並行処理への移行
  2. 02Combineパブリッシャーをasync/awaitに置換
  3. 03スクロールと描画性能の改善
  4. 04SwiftUIアニメーション実装のレビュー

インストール

コマンドをコピーしてターミナルで実行します。

$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 のルールをまとめています。@Observable と Swift 6 の厳格な並行処理を使用する iOS 26 / Swift 6.2 を対象としています。

Clinic アーキテクチャの契約(iOS 26 / Swift 6.2)

このスキルのすべてのガイダンスは、Clinic のモジュール型 MVVM-C アーキテクチャを前提としています。

  • 機能モジュールがインポートできるのは Domain と DesignSystem のみです(Data や兄弟機能はインポートしません)
  • App ターゲットが合流点となり、DependencyContainer、具象コーディネーター、Route Shell の配線を所有します
  • Domain は純粋な Swift を維持し、モデルに加えて、リポジトリ、*Coordinating、ErrorRouting、AppError の契約を定義します
  • Data は SwiftData/ネットワーク/同期/再試行/バックグラウンド I/O を所有し、Domain のプロトコルを実装します
  • 読み取り/書き込みフローでは、デフォルトで stale-while-revalidate の読み取りと、キューに登録する楽観的な書き込みを使用します
  • ViewModel はリポジトリのプロトコルを直接呼び出します(デフォルトのユースケース/インタラクター層は設けません)

適用する場面

次のような場合に、これらのガイドラインを参照してください。

  • Swift 6 の厳格な並行処理(Sendable、アクター分離)に移行する
  • Combine のパブリッシャーを async/await に置き換える
  • @MainActor による分離と、アクターをベースとした並行処理を実装する
  • ビューを分割して、状態無効化の影響範囲を縮小する
  • 遅延コンテナーを使って、スクロールとレンダリングのパフォーマンスを最適化する
  • 高パフォーマンスなレンダリングに Canvas/TimelineView を使用する
  • 最適化の前に SwiftUI Instruments でプロファイリングする
  • パフォーマンスに優れたスプリングアニメーションとトランジションを構築する

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1並行処理と非同期処理CRITICALconc-
2レンダリングとスクロールのパフォーマンスHIGHperf-
3アニメーションのパフォーマンスMEDIUManim-

クイックリファレンス

1. 並行処理と非同期処理(CRITICAL)
2. レンダリングとスクロールのパフォーマンス(HIGH)
3. アニメーションのパフォーマンス(中)
  • anim-spring - スプリングアニメーションをデフォルトとして使用します
  • anim-matchedgeometry - 共有トランジションにはmatchedGeometryEffectを使用します
  • anim-gesture-driven - アニメーションをジェスチャーに連動させます
  • anim-with-animation - 状態に応じたトランジションにはwithAnimationを使用します
  • anim-transition-effects - ビューの挿入と削除にトランジション効果を適用します

使用方法

詳しい説明とコード例については、個別のリファレンスファイルをお読みください。

リファレンスファイル

ファイル説明
references/_sections.mdカテゴリーの定義と順序
assets/templates/_template.md新しいルール用のテンプレート

コメント