kmp3 [Kalendar] KMP에 Typograpy 적용하기 유어슈 동아리에서 캘린더 라이브러리를 KMP로 만드는 프로젝트를 진행 중이다. KMP의 K와 Calendar를 합쳐서 Kalendar의 이름이 탄생하게 되었다. 이 프로젝트를 진행하게된 목표는 Compose Multiplatform(iOS, Desktop 포함) 환경에서 플랫폼별 의존성 관리 능력을 향상시키고, 배포 과정을 경험해서 실제 오픈소스 프로젝트를 완성하기 위함이다!총 두 달 동안 진행될 예정이며, 각 기능을 스프린트 별로 나누어 진행하고 있다.캘린더 디자인의 경우 유어슈 디자인 팀에 문의하여 디자인을 받았다. Material을 참고문서로 보냈기 때문에 Material과 디자인이 유사하다. 이번에 내가 담당한 부분은 디자인시스템을 구현하는 것이다.KMP 환경에서의 Typograpy 적용 과정을 .. 2025. 8. 18. [KMP] Kotest로 테스트 코드 멀티플랫폼에 적용하기 Kotest멀티플랫폼인 KMP에서 테스트코드를 작성하기 위해서는 Kotlin에서 제공하는 테스트 프레임워크인 Kotest를 사용해야 한다. Kotest에는 종류가 여러 가지가 있는데 나는 BehaviorSpec을 선택했다.그 이유는 BehaviorSpec은 아래처럼 given - when - then 형식으로 표현이 가능하여 더 체계적으로 작성할 수 있겠다고 생각했기 때문이다.class UiStateTest : BehaviorSpec({ given("테스트 조건 환경이 주어졌을 때") { ... `when`("테스트 대상 행위가 발생하면") { ... then("의도한 결과가 검증될 것이다.") { ... .. 2025. 3. 9. [KMP] Hilt → Koin 마이그레이션 최근 드로이드나이츠 앱을 KMP로 마이그레이션 하는 프로젝트를 진행 중이다. 이때 KMP에서는 안드로이드 전용 라이브러리를 그대로 사용할 수 없기 때문에, 기존 Android 코드로로 작성된 부분을 KMP에서도 호환 가능한 라이브러리로 교체해야 한다. 이번 글에서는 그 과정 중 하나로, 의존성 주입 라이브러리를 Hilt에서 Koin으로 마이그레이션 한 과정을 공유해보려고 한다. Koin우선 Koin 이란, 모든 Kotlin 애플리케이션(ex. 멀티플랫폼, Android, 백엔드)에 종속성 주입을 쉽고 효율적으로 통합하는 방법을 제공하는 DI 라이브러리이다. 그 외의 특징들로는 아래와 같다.읽기 쉽고, 사용하기 쉬우며, 어떤 종류의 애플리케이션이든 작성할 수 있는 Kotlin DSL이다.Android 생태.. 2025. 2. 14. 이전 1 다음