Skip to content

안드로이드 기슬 스택 선택 및 이유 정리

Choi Woo Seok edited this page Aug 22, 2023 · 1 revision

기술 스택

MinSDK : API 28 / Android 9.0(Pie)

TargetSdk: 34

  • 플레이스토어 정책에 의하면 targetSdk 34 미만의 어플리케이션은 더 이상 업로드하지 못한다.
  • 만약 targetSdk 31 미만의 어플리케이션이 이미 등록되어 있어도, 일정 기간 안에 버전을 업데이트하지 않으면, 정책 위반으로 앱이 정지된다.

Kotlin : 1.8.0

  • 코드 안정성을 위해 가장 최신 버젼의 코틀린 버젼을 사용합니다.

Java Version : 17

  • 현재 사용하려는 Gradle 버전이 자바 17 이상을 사용해야 하기 때문

Gradle Version : 8.0.2

Android Studio Flamingo | 2022.2.1 Patch 2

  • Beta 버전을 제외하고, 현재 출시된 Android Studio 버전 중 가장 상위 버전이다.
  • 안정성이 보장되어 있다.

Library

Architecture

  • MVVM(View + ViewModel + Model + DataBinding)
  • Repository Pattern
  • 안드로이드 공식문서 앱 아키텍쳐 권장사항을 따른다.
  • 각 화면 별로 데이터 모델을 화면에 필요한 정보(UiState)로 가공한다.

Network

retrofit_benchmark
  • Retrofit2 + OkHttp3 : useful combination for using REST APIS
  • Kotlin Serialzation : A modern JSON library for Kotlin

Image Loader:Glide

Picasso vs Glide

  • Glide 가 Picasso 에 비해 메모리 사용량이 훨씬 적다. → 따라서, Picasso 는 메모리를 많이 사용해야 하는 우리의 앱에 있어서 적합하지 않다.

Glide vs Coil

  • 프로젝트에 Coroutine을 적용하는 상황에서 Coil이 최적화되어 있다. (Coroutine Image loader)
  • Glide에 비해 메모리 사용량이 현저히 낮다.
  • 하지만 시간 상 Coil의 러닝커브가 있기 떄문에, 익숙한 Glide를 사용했습니다.

Database

  • SharedPreference : Local 저장
Clone this wiki locally