Claude Skill MartKhám phá skillCâu dùng ngayHọc qua videoDùng terminalSkill là gì?
← Về danh sách

Hướng dẫn phát triển Compose Multiplatform

Bộ mẫu thực chiến KMP/CMP để viết một codebase Compose duy nhất chạy trên Android, iOS, Desktop và Web.

Lập trìnhNâng cao★ 457⑂ 34Điểm AI 9/10Cập nhật lần cuối: 5 thg 10, 2026

Làm được gì

  • Giải thích cấu trúc dự án lấy commonMain làm trung tâm và mẫu expect/actual cho hàm, class và composable kèm ví dụ code.
  • Đưa ra giải pháp đa nền tảng thay cho API chỉ có trên Android (LocalConfiguration): LocalWindowInfo, LocalDensity, BoxWithConstraints.
  • Hướng dẫn dùng Compose Resources cho font/ảnh/chuỗi, tương tác hai chiều iOS (ComposeUIViewController, UIKitView) và mẹo hiệu năng cho Wasm & frame đầu trên iOS.
  • Liệt kê những thứ KHÔNG hoạt động: lỗi bàn phím iOS bị đẩy hai lần, vấn đề RTL, các API JVM bị cấm trong commonMain, kèm bảng anti-pattern.

Phù hợp với ai

  • Lập trình viên Android/KMP làm ứng dụng đa nền tảng cùng lúc
  • Nhóm đã quen Jetpack Compose nhưng gặp khó ở target iOS
  • Dự án hybrid cần nhúng màn hình Compose vào app SwiftUI có sẵn

Ví dụ sử dụng

  1. "Mở share sheet trên cả iOS và Android" → sinh expect fun openShareSheet và hai bản actual.
  2. "Bàn phím iOS làm layout nhảy hai lần" → cấu hình OnFocusBehavior.DoNothing kết hợp imePadding().
  3. "Dùng font Inter trong code dùng chung" → đặt vào composeResources/font/ và tạo FontFamily qua Res.font.*.

· · · Hướng dẫn cài đặt · · ·

Dùng thử ngay, không cần cài

Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.

Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình:
https://raw.githubusercontent.com/AThevon/genjutsu/HEAD/skills/_jutsu/compose-multiplatform/SKILL.md

Mình muốn: (viết việc bạn cần ở đây)

Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.

↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.

Cài vào ứng dụng Claude (không cần terminal)
  1. Tải tệp ZIP bằng nút bên dưới.
  2. Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
  3. Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
↓ Tải ZIP
Cài vào Claude Code

Để Claude làm — dán câu dưới đây vào Claude Code

Hãy cài skill mình tìm thấy trên Claude Skill Mart.
Copy thư mục skills/_jutsu/compose-multiplatform từ repo GitHub AThevon/genjutsu vào ~/.claude/skills/compose-multiplatform/ của mình.
Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.

Cài bằng lệnh thủ công

git clone https://github.com/AThevon/genjutsu.git /tmp/genjutsu && mkdir -p ~/.claude/skills && cp -r /tmp/genjutsu/skills/_jutsu/compose-multiplatform ~/.claude/skills/

⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.

  1. Mở terminal và clone repo: git clone https://github.com/AThevon/genjutsu.git
  2. Tạo thư mục skill nếu chưa có: mkdir -p ~/.claude/skills
  3. Copy riêng skill này: cp -r genjutsu/skills/_jutsu/compose-multiplatform ~/.claude/skills/
  4. Muốn dùng cả các skill liên quan (compose-motion, mobile-principles...), copy toàn bộ: cp -r genjutsu/skills/_jutsu/* ~/.claude/skills/
  5. Khởi động lại Claude Code và kiểm tra bằng /skills.
  6. Trong dự án KMP, chỉ cần yêu cầu ví dụ "viết phần interop iOS" là skill sẽ được nạp. Hãy đối chiếu các số phiên bản với release note CMP mới nhất.
Xem mã nguồn trên GitHub ↗Giấy phép: NOASSERTION