Skip to content

Migration ticket: UIKit/XIB/MVP → SwiftUI - #3

Open
zigdanis wants to merge 1 commit into
masterfrom
migrate/swiftui
Open

Migration ticket: UIKit/XIB/MVP → SwiftUI#3
zigdanis wants to merge 1 commit into
masterfrom
migrate/swiftui

Conversation

@zigdanis

@zigdanis zigdanis commented Jun 7, 2026

Copy link
Copy Markdown
Owner

What

Adds migrations/02-swiftui.md — a self-contained agent prompt to migrate the UIKit scene layer (XIB-backed View ↔ Presenter ↔ Configurator triples) to SwiftUI with observable view models.

This PR carries the ticket/prompt only; it does not implement the migration. Hand the prompt to an agent to produce a plan and then implement it.

Why

The UI is UIKit + XIBs/storyboards with hand-wired MVP/Clean scaffolding (Presenters, Configurators, Routers). SwiftUI removes most of that boilerplate while the Core business-logic framework stays intact and reused.

Scope (per the prompt)

  • Leaf-first scene migration: EmptyPersonPersonOverviewEditPersonPersonsList
  • Presenters → @Observable view models calling existing Core use cases
  • NavigationStack routing; PhotosPicker replacing WDImagePicker
  • TimelineView for live age via AgeCalculator
  • Keep Core tests green; update README architecture section

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added comprehensive migration guide for app UI framework modernization.

A prompt that fires an agent to plan and implement migrating the UIKit
scenes (MVP triples + XIBs) to SwiftUI while reusing the Core framework.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 7, 2026

Copy link
Copy Markdown

Review Change Stack

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Free

Run ID: 07e1f90e-f0a9-482b-9c0d-30365c84ea74

📥 Commits

Reviewing files that changed from the base of the PR and between 818631c and 9bce294.

📒 Files selected for processing (1)
  • migrations/02-swiftui.md

📝 Walkthrough

Walkthrough

This PR introduces a migration specification document (migrations/02-swiftui.md) that defines a scene-by-scene plan to convert the GrowingUp app's UIKit interface layer (XIB files and storyboards) to SwiftUI, while preserving existing Core logic, App Group data sharing, and localization support. The plan maps UIKit presenters to SwiftUI observable view models and specifies requirements for navigation, photo handling, and live age updates.

Changes

UIKit-to-SwiftUI Migration Specification

Layer / File(s) Summary
Migration plan and acceptance criteria
migrations/02-swiftui.md
Specification document defining incremental migration strategy from UIKit XIB/storyboards to SwiftUI, view-model/router/photo/live-age mapping requirements, preservation of Core use cases and App Group/Core Data wiring, testing and deployment constraints, and explicit acceptance criteria including README updates.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 A blueprint for transitions fair,
From XIB files floating in the air—
SwiftUI awaits with observable grace,
Core logic steady in its place.
Hop by scene, we'll make it bright! ✨


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant