UIKit 기반의 선언형 리스트 프레임워크로 SwiftUI로의 마이그레이션 비용을 낮춘다
중간맛 분석
Swift 언어, UIKit 기반이면서 선언형 를 제공한다. 난이도는 중간 정도다. Component, List, Section, Cell로 구성된 명확한 구조로 바로 프로덕션 앱에 적용할 수 있다. 페이지네이션, 프리페칭, 동적 사이징, 배치 업데이트 전략 등 실제 필요한 기능들이 모두 포함되어 있고, Swift Manager로 간편하게 설치한다.
이런 레포예요
이럴 때 쓰면 좋아요
- 큰 데이터셋을 다루는 전자상거래 또는 소셜 피드 앱에서 부드러운 스크롤 성능 필요 시
- 기존 UIKit 프로젝트를 SwiftUI로 점진적으로 마이그레이션하려는 팀
- 복잡한 리스트 레이아웃과 인터랙션을 선언형으로 간단하게 관리하고 싶을 때
핵심 기능
대안 대비 차별점
UIKit을 기반으로 하면서도 SwiftUI와 유사한 선언형 API를 제공하므로 기존 앱에서 마이그레이션 비용 없이 현대적인 개발 경험을 얻을 수 있다.
먹어본 사람들
실제로 차려 먹어본 손님들의 흔적이에요 — 한마디와 완주 인증 모두 검수 후 공개돼요.
이 레포, 해먹는 법
처음 오셨어요? 어렵지 않아요 — 위에서 아래로 따라 하면 내 컴퓨터에 이 레포를 차려서 바로 맛볼 수 있어요.
준비물
- Swift 5.7 이상
- Xcode 14 이상
- iOS 13 이상
바로 시작하기
-
Xcode에서 Package dependencies 추가 Xcode에서 Project → Package dependencies → Add Package Dependency를 선택한다.
-
패키지 URL 입력 검색창에 다음 URL을 입력한다:
https://github.com/daangn/KarrotListKit
-
버전 선택 후 추가 원하는 버전을 선택하고 Next, Finish를 클릭한다.
-
프로젝트에 import 사용할 파일에서 다음을 추가한다:
import KarrotListKit
- CollectionViewAdapter 설정
private let configuration = CollectionViewAdapterConfiguration()
private let layoutAdapter = CollectionViewLayoutAdapter()
private lazy var collectionViewAdapter = CollectionViewAdapter(
configuration: configuration,
collectionView: collectionView,
layoutAdapter: layoutAdapter
)
private lazy var collectionView = UICollectionView(
frame: .zero,
collectionViewLayout: UICollectionViewCompositionalLayout(
sectionProvider: layoutAdapter.sectionLayout
)
)
- List 구성 및 적용
let list = List {
Section(id: "Section1") {
Cell(
id: "Cell1",
component: ButtonComponent(viewModel: .init(title: "Title"))
)
}
}
collectionViewAdapter.apply(
list,
updateStrategy: .animatedBatchUpdates
) {
// 완료 후 처리
}
깃밥트라이로 맛보기
받아보기 귀찮고 살짝 불안했다면 — 안전 스캔부터 설치까지 터미널 한 줄로 끝나요.
터미널에 붙여넣으면 깃밥 안전 스캔 → 격리 폴더 clone → 설치 → 실행법 안내까지 자동이에요. 처음이어도 괜찮아요 — 이 한 줄이 전부예요.
npx gitbap-try daangn/KarrotListKit
Node.js만 있으면 설치 없이 실행돼요 · 깃밥트라이가 뭐예요? →
별 추이 · 7일
활용성 · 따라 만들기 좋은가
- 관대한 라이선스
- 테스트 있음
- 예제 디렉토리
- 최근 활동
- AGENTS.md
- llms.txt
- 템플릿
⚪ 최근 활동 정보 없음 · 2024년 생성
「모바일」 이런 레포, 매주 받아보실래요?
매주 월요일 아침, 골라 담은 밥상만. 광고 없이 · 언제든 해지.
내 레포인가요? README에 깃밥 배지 달기
[](https://www.gitbap.com/r/daangn/KarrotListKit)🔌 클로드에서 바로 써보기 — 깃밥 연결하는 법
깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.
클로드 설정 → 커넥터에 이 주소를 붙여넣기.
https://www.gitbap.com/api/mcp플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI가 README 기반으로 요약했습니다 · 원문 보기