Android 공부/KMM

    KMP에서 Unresolved reference: IO 에러 땜질하는 법

    에러 > Task :composeApp:compileKotlinWasmJs FAILED e: composeApp/src/commonMain/kotlin/viewmodel/MainViewModel.kt:8:27 Unresolved reference: IO e: composeApp/src/commonMain/kotlin/viewmodel/MainViewModel.kt:18:36 Unresolved reference: IO 상황 잘 빌드 되다가 갑자기 위와 같은 에러메시지가 뜨면서, 빌드가 되지 않았습니다. 안드로이드에서는 당연하게 사용되었지만, Unresolved reference: IO 가 발생을 했습니다. 해결방안을 ChatGPT를 통해서 검색을 했습니다. ChatGPT 대답 Dispatchers.IO와..

    2024년의 NEW 감자튀김의 프로젝트

    이번엔 진짜 KMM을 공부하기로 결심했다. 이제는 Jetbrain에서 엄청 멋있는 기술을 제공하고 있다. 비지니스 로직에 집중한 KMM 뿐만 아니라, UI 로직도 컴포즈로 해서 제공해준다는 나이스한 아이디어를 Compose Multiplatform이라는 기술로 제공한다는 것이다. 비지니스 로직을 합치는 것만으로도 대단하다고 생각했지만, UI까지 모두 KMM으로 개발할 수 있다게 너무 궁금하기도 하고, 정말 되는지 항상 찍먹 해보고 싶었다. https://www.jetbrains.com/ko-kr/lp/compose-multiplatform/ Compose Multiplatform UI Framework | JetBrains Create stunning UIs with Compose Multiplatfor..

    KMM (2) sqldelight

    서론 KMM을 기반으로 프로젝트를 진행하다보면 프로젝트 셋팅과 대한 중요도를 자주 느끼곤 합니다. KMM의 샘플을 보다보면 데이터베이스로 sqldelight를 사용하는 프로젝트를 자주 볼 수 있다. 그래서 데이터베이스를 추가하면서 겪었던 이슈들을 정리하고자 한다. 디펜던시 build.gradle.kts classpath("com.squareup.sqldelight:gradle-plugin:1.5.3") build.gradle.kts(:shared) plugins { //... id("com.squareup.sqldelight") } val androidMain by getting { //... dependencies { //... implementation("com.squareup.sqldelight:a..

    KMM (1) 시작

    서론 네이티브 개발을 하다보면, 다른 플랫폼의 개발도 잘 하고 싶은 욕심이 많이 생긴다. Flutter, 리액트는 이러한 욕심을 갖고 있는 개발자에게 좋은 플랫폼이 될 것이라고 생각을 한다. 최근에는 어느 정도 안정화 단계에 도달했다고 생각이 들 정도로, 많은 개발자들이 해당 플랫폼에 관심을 갖고 있다. 하지만, 필자에게는 새로운 것을 배우는 것에 대한 거부감이 있었으며, 여태까지 사용을 한 안드로이드 생태계를 유지하고 싶었다. 그래서 필자는 KMM을 공부하고 싶다는 욕심이 있었다. KMM은 비지니스 로직은 코틀린 언어를 통해서 작성을 하고, 뷰 영역은 Android와 iOS로 구분지어서 작성을 할 수 있다. 물론, 비지니스 로직에도 Android와 iOS에 대한 로직에 대한 작성이 필요하다고는 한다...