게임으로 넘어가기전에 정리할건 정리하고 가야지. Ktor Client 사용법 공부하다가 요로결석 걸려서 1주일 넘게 무력화 되어 있었다. 암튼… 앞에서 다뤘던 SQLDelight, Koin과 함께 Ktor까지 사실 전부 Kotlin Multi-Platform을 위한 것들이기도 하다. 안드로이드에서 Room, Hilt, Retrofit이 각각 DB, DI, Network를 위한 라이브러리로 주로 사용되는데, 자바기반이라서 KMP에서는 1:1로 대체 가능한 순수 Kotlin 기반 라이브러리들을 사용 하는 것이다. 하지만,…
[글쓴이:] batmask
게임 만들거다.
돈이 되는걸 개발해야 하는데, 지지부진 수년을 끄는동안, 모바일 앱의 장벽이 너무 높아졌다. 오히려 작은 게임을 만드는게 유지보수 측면이나, 멀티플렛폼 지원 측면에서 편하다. 혼자 만드는 수준이 뻔하기 때문에, 대단한 게임을 만들게 아니다. gungeon과 같은 게임을 만들고 싶은데, 사실 이것도 스케일이 큰거다. 기본적으로 건전의 탑다운 슈팅의 재미만 이어가고 싶다. 다른 쪽으로는 뱀서류도 가능하다. 이쪽이 일인 개발에 모바일까지…
Using Koin with Android Compose
기본적인 Koin 사용법은 앞 포스팅에서 다뤘다. 이제 안드로이드에서 사용해보자. 버전카탈로그를 사용한다고 가정한다. 우선 libs.versions.toml 에 다음과 같이 추가한다. bom을 사용하기 때문에, 그 이후에는 version.ref런스 명시가 필요없다. koin-core, koin-android외 라이브러리들은 필요한 것들을 찾아서 추가한다고 생각하면 된다. 이제, build.gradle.kts 파일에 해당 라이브러리들을 추가해보자. Koin Usage : https://insert-koin.io/docs/quickstart/android-compose 안드로이드에 DI를 사용하는 가장 큰 이유중 하나는 MVVM구조에서 Repository, Viewmodel들을…
Koin 사용하기
시작하기에 앞서 개발자로 직장에서 일한지는 좀 오래됐지만, 일 할때 알게된 진리중 하나는 “문서를 있는그대로 100% 신뢰하지 마라”였다. 심지어 MS API문서도 직접 사용해보면 다르게 동작하는 경우가 있기도 했음. 안타깝지만, 개발자는 결국 코드로 읽어야 하는 존재란걸 또 깨닫는 경험을 하게됐다. Koin 4.0이 나왔음에도 공식 사이트의 문서들은 3.5에 기반한 내용들이다. 버전별 API문서도 없고, 심지어 가장 간단한 Kotlin tutorial도…
SQLDelight 사용하기
SQLDelight는 DB를 다루는 라이브러리면서 ROOM과는 반대로 작동한다. ROOM은 DB를 다루는 클래스를 만들면, 여기서 안전한 SQL Query를 만들어 준다면, SQLDelight는 SQLQuery를 작성하면, 이로부터 typesafe하고 안전하게 사용가능한 Kotlin API를 생성해준다. 뭐가 더 좋은지는 선택에 달려있는데, SQLDelight가 순수하게 Kotlin베이스라는 점에서 KMP(Kotlin Multi-Platform)개발에서 주로 사용되는 것으로 보인다. 안드로이드에서 사용하기 위해선 우선 플러그인이 필요하다. 버전 카탈로그를 사용하는 기준으로 libs.versions.toml 에…