Compose Multiplatform 개발 가이드
Android·iOS·데스크톱·웹을 하나의 Compose 코드베이스로 만들 때 필요한 KMP/CMP 실전 패턴 모음.
개발·코딩고급★ 457⑂ 34AI 점수 9/10마지막 업데이트: 2026. 10. 5.
무엇을 해주나
commonMain중심 프로젝트 구조와expect/actual패턴(함수, 클래스, 컴포저블)을 정확한 예제로 안내합니다.LocalDensity,LocalWindowInfo,BoxWithConstraints등 크로스플랫폼 대안을 제시하고 Android 전용 API(LocalConfiguration) 사용을 막아줍니다.- Compose Resources로 폰트·이미지·문자열을 공유하는 방법, iOS
ComposeUIViewController↔ SwiftUI 양방향 인터롭, Wasm 번들 크기·iOS 첫 프레임 성능 팁을 담았습니다. - iOS 키보드 이중 보정 버그, RTL 이슈,
commonMain에서 금지되는 JVM API 등 "안 되는 것" 목록과 안티패턴 표를 제공합니다.
이런 분께 추천
- Kotlin Multiplatform으로 모바일·데스크톱 앱을 동시에 개발하는 안드로이드/KMP 개발자
- Jetpack Compose 경험은 있지만 iOS 타깃에서 막히는 팀
- 기존 SwiftUI 앱에 Compose 화면을 끼워 넣어야 하는 하이브리드 프로젝트
활용 예시
- "공유 시트를 iOS와 안드로이드에서 각각 띄우고 싶어" →
expect fun openShareSheet+ 플랫폼별actual구현 코드 생성. - "iOS에서 키보드가 올라오면 레이아웃이 두 번 밀려요" →
OnFocusBehavior.DoNothing설정과imePadding()조합 정리. - "공통 코드에서 Inter 폰트를 쓰려면?" →
composeResources/font/에 넣고Res.font.*로FontFamily구성.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/AThevon/genjutsu/HEAD/skills/_jutsu/compose-multiplatform/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 AThevon/genjutsu 의 skills/_jutsu/compose-multiplatform 폴더를 내 ~/.claude/skills/compose-multiplatform/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/AThevon/genjutsu.git /tmp/genjutsu && mkdir -p ~/.claude/skills && cp -r /tmp/genjutsu/skills/_jutsu/compose-multiplatform ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 열고 스킬 저장소를 클론합니다:
git clone https://github.com/AThevon/genjutsu.git - 스킬 폴더가 없으면 만듭니다:
mkdir -p ~/.claude/skills - 이 스킬만 복사합니다:
cp -r genjutsu/skills/_jutsu/compose-multiplatform ~/.claude/skills/ - 본문이 참조하는
../compose-motion,../mobile-principles등도 함께 쓰려면cp -r genjutsu/skills/_jutsu/* ~/.claude/skills/로 통째로 복사하세요. - Claude Code를 재시작하고
/skills로 목록에 나타나는지 확인합니다. - KMP 프로젝트 폴더에서 "iOS 인터롭 코드 작성해줘" 같이 요청하면 스킬이 로드됩니다. 버전 관련 내용은 최신 CMP 릴리스 노트와 한 번 대조해 보세요.
GitHub에서 원본 보기 ↗라이선스: NOASSERTION