개발86 Kotlin Coroutines, 구조화된 동시성 (Structed Concurrency) 오늘날, 안드로이드 개발은 Kotlin이 메인 프로그래밍 언어로 자리잡고 있습니다.이로 인해 비동기 작업은 Kotlin Coroutines(코루틴)이 완전히 자리를 잡고 있는데요.일부 역사가 긴 서비스를 보유한 회사에서는 Rx 계열을 사용하는 경우도 있지만, 아마 코루틴으로 마이그레이션하는 작업을 진행하지 않을까 예상됩니다.코루틴은 구조화된 동시성이라는 원칙을 따르고 있습니다.https://kotlinlang.org/docs/coroutines-basics.html#structured-concurrency Coroutines basics | Kotlin kotlinlang.org구조화된 동시성은 동시성 작업간에 부모-자식과 같은 관계를 형성하여 가독성, 유지보수성, 안정성이 뛰어난 동시성 코드를 작성할 .. 2025. 1. 27. [Android] Retrofit Call Adapter를 활용해서 효과적인 에러 핸들링 하기 요즘 앱을 개발하면 API를 사용하지 않는 경우가 거의 없는 듯 합니다.그렇기 때문에 Retrofit은 굉장히 흔하고 유용한 네트워킹 라이브러리이며 오랫동안 사용되어 오고 있습니다.최근엔 Ktor를 사용하는 사례도 종종 보입니다만, 아직까지 Retrofit을 사용하는 것이 대부분 일 것입니다.이와 더불어 앱 권장 아키텍처 또는 MVVM, 클린아키텍처 또한 매우 흔한 기술 스택으로 자리잡고 있습니다.그러다보니 ViewModel에서 Repository, UseCase를 통해 API로부터 오는 데이터를 얻고 있습니다.이러한 아키텍처 구성은 레이어간에 느슨한 결합을 만드는 것이 주된 목적 중 하나이기 때문에 인터페이스로 의존하고 있으며, 서로간에 구체적인 구현은 모르게 되는 상황이 된 것이죠.이러한 상황에서 A.. 2025. 1. 24. [Android] Compose Multiplatform + Circuit + Koin 요즘 Compose Multiplatform에 대한 관심도가 많이 높아진 것 같습니다.Jetpack ViewModel은 기존에 Android에서만 사용이 가능했는데, 최근 KMP에서도 사용 가능하도록 업데이트를 하기도 했습니다.이 외에 Navigation Component, Room 등도 이러한 양상을 보이고, 많은 라이브러리들이 KMP 환경을 제공하기 위해 노력하고 있는 듯 합니다.https://www.jetbrains.com/ko-kr/compose-multiplatform/ Compose Multiplatform UI 프레임워크 | JetBrains www.jetbrains.com 저 또한 CMP에 관심을 가지고 있는데, 지금까지 잘 사용을 하지 않은 이유는 적합한 아키텍처 또는 아키텍처 구성요소를.. 2025. 1. 12. [Android] APK 파헤치기 우리가 열심히 개발한 안드로이드 프로젝트는 결과적으로 APK(또는 AAB)로 변환됩니다.APK는 Android Application Package의 약자로, 이름부터 안드로이드 어플리케이션을 위한 묶음이며 확장자는 apk입니다.과거에는 안드로이드 어플리케이션의 결과물이 APK만 존재했었고, 이것을 플레이스토어에 올리기도 하고 인터넷 등을 통해 공유하여 설치할 수 도 있었습니다.그러다 AAB(Android App Bundle)이라는 것이 소개되고 어느순간 플레이스토어 배포는 AAB만이 가능한 형태로 바뀌었습니다.왜 이렇게 바꾸었을까요?우리는 안드로이드 앱을 개발할 때, 다양한 종류의 기기, 국적 등에 대응하기 위해 다양한 방법을 시도합니다.DPI 별로 이미지 리소스를 나누거나, 국적별로 문자열 리소스를 나.. 2025. 1. 5. 이전 1 2 3 4 5 ··· 22 다음 반응형