유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

Multi-Module Architecture in KMP for Beginners (Kotlin Multiplatform)

Philipp Lackner

2025. 9. 17.

0

#mobile app
#backend
  • KMP(Kotlin Multiplatform)에서 모듈은 라이브러리와 같다. 외부 라이브러리처럼 로컬에서도 자체 라이브러리를 만들어 참조할 수 있다. 📚
  • KMP 앱은 각 플랫폼(Android, iOS, Desktop)별 진입점을 포함하는 애플리케이션 모듈이 필요하다. 일반적으로 코드베이스에 하나의 애플리케이션 모듈만 존재한다. 📱
  • Gradle 모듈은 코드 컨테이너이며, 각 모듈은 자체 build.gradle 파일을 가진다. 이를 통해 모듈 빌드 방식과 포함할 라이브러리를 설정할 수 있다. 📦
  • 모듈 마법사를 통해 라이브러리 모듈을 추가할 수 있다. settings.gradle 파일에 모듈이 포함되었음을 명시해야 Gradle이 해당 폴더를 모듈로 인식한다. ✨
  • 모듈 간 의존성을 설정하여 특정 모듈의 클래스 및 파일에 대한 접근 권한을 제어할 수 있다. 이를 통해 코드 격리 및 재사용성을 높일 수 있다. 🔒
  • 멀티 모듈 아키텍처의 장점은 코드 재사용성, 빠른 Gradle 빌드, 팀 작업 분산, 아키텍처 의존성 강화 등이 있다. 🚀
  • 모듈을 재사용하여 다른 프로젝트에서도 동일한 기능을 활용할 수 있다. 독립적인 모듈 구조를 설계하면 코드 중복을 줄이고 효율성을 높일 수 있다. ♻️
  • Gradle은 멀티 모듈 환경에서 각 모듈을 독립적으로 빌드할 수 있어 빌드 시간을 단축할 수 있다. 변경된 모듈만 재빌드하여 전체 빌드 시간을 줄인다. ⏱️
  • 팀 구성원들이 개별 모듈에 집중하여 작업할 수 있도록 하여 협업 효율성을 높일 수 있다. 모듈 간 의존성 방향을 설정하여 코드 충돌을 방지한다. 🤝
  • 아키텍처 레이어(presentation, domain, data)별로 모듈을 분리하여 아키텍처 의존성을 강화할 수 있다. 이를 통해 코드 구조를 명확히 하고 유지보수성을 높인다. 🏗️
  • KMP 모듈은 일반 Kotlin 모듈과 달리, Kotlin Multiplatform Gradle 플러그인을 사용하여 각 플랫폼별 코드를 관리한다. 🧩
  • Kotlin Multiplatform 프로젝트에서는 Kotlin Multiplatform Gradle 플러그인을 사용하는 라이브러리 및 모듈만 참조할 수 있다. 🔗

Recommanded Videos