2022년 안드로이드 개발 트렌드

2022.03.02

|

3710

[개발 꿀팁] 2022년 안드로이드 개발 트렌드

2022 안드로이드 개발 트렌드

*잠깐, 이 글을 소개해드리는 위시켓은 2019년 시밀러웹 방문자 수 기준, 국내 1위 IT아웃소싱 플랫폼입니다.

현재 9만 이상의 개발업체, 개발 프리랜서들이 활동하고 있으며, 무료로 프로젝트 등록이 가능합니다. 프로젝트 등록 한 번으로 여러 개발업체의 견적, 포트폴리오 예상기간을 한 번에 비교해보세요🌼

Jetpack Compose, Hilt, Kotlin Flow, Coroutines – 안드로이드 개발자들이 꼭 익혀야 할 기술들 – 2022년 안드로이드 개발 트렌드

안드로이드 개발 트렌드 알아보기
2022 안드로이드 개발 트렌드

모바일 개발자로서 최우선 하는 것들 중 하나는 우리의 안전 영역(comfort zone)을 벗어나는 것을 의미한다고 할지라도, 최신 정보를 유지하고 최신 발표 사항들을 확인하는 것입니다. 작년 Android계에 몇몇 흥미로운 것들이 있었지만 이들 중 우리가 2022년에 사용하기 시작해야 할 가장 중요한 ‘안드로이드 개발 트렌드’에 대해 알아보도록 하겠습니다.

Jetpack Compose

2022 안드로이드 개발 트렌드 1

확실히 작년 중 가장 큰 발표였을 것입니다. 이는 UI 레이어에만 해당할지라도 많은 개발 영역에 영향을 미치는 것입니다. 이는 Android에서의 뷰(View)를 만들어내는 완전히 새로운 방식입니다. 우리는 마침내 XML을 그만두고 선언적인 사고의 명령적인 방식으로 이를 대체할 수도 있습니다. Android는 마침내 사용자 인터페이스 제작의 현대적 방식이 다른 플랫폼들을 따라잡았습니다.

Jetpack Compose는 Kotlin을 중심으로 작성되었고 아직 향상된 뷰를 생성하는 것에는 몇 가지 제약이 따르지만, 그럼에도 구글의 큰 지원을 받고 있습니다. 그러나, 새로운 탐색, 저장 상태 및 테마에 대한 지원을 찾을 수 있을 것입니다. 또한 튜토리얼을 담은 많은 기사문과 영상들이 있기에 벌써 시도할 만한 가치가 있습니다. 특히, 2021년의 또다른 큰 소식인 Material You에 대한 지원이 예정되어있습니다.

Jetpack Compose 뷰 샘플

@Composable
private fun AppTheme.StepsView(
  modifier: Modifier,
  numberOfSteps: Int,
  currentStep: Int,
  accentColor: Color,
) {
  val inactiveColor = colors.textGrav

  Row(
    modifier = modifier,
    horizontalArrangement = Arrangement.Center,
    verticalAlignment = Alignment.CenterVertically,
) {

    (1..numberOfSteps).forEach {
     when {
       it < currentStep -> Checkmark(accentColor)
       it == currentStep -> Step(it, accentColor)
       else              -> Step(it, inactiveColor)
  }

     if (it < numberOfSteps)
      val color = if (it < currentStep) accentColor else inactiveColor
      Line(color)
     }
   }
}

더 나아가, Jetpack Compose를 사용하기 시작한다면 Compose를 지원하는 라이브러리인 Accompanist에 익숙해지도록 합시다.

Hilt

2022 안드로이드 개발 트렌드 2

Hilt는 가장 인기있는 도구인 Dagger를 기반으로 구축된 새로운 의존적 주입(dependency injection) 도구입니다. Android를 위해 특별히 구축되었고, 뷰 모델, Activities, Fragments, 그리고 이미 언급했듯 Jetpack Compose까지도 Hilt가 지원합니다. Dagger와 비교하면, 구성은 매우 간단하고 오류들도 더 분명해서 의존성 주입과 관련한 경험이 적은 사람들조차도 꽤 쉽게 이해할 수 있습니다.

Hilt 사용 샘플

@AndroidEntryPoint
class MainActivity : AppCompatActivity()

  private val viewModel by viewModels<MainViewModel>()
}

@HiltViewModel
class MainViewModel @Inject constructor() : ViewModel()

@Module
@InstallIn(SingletonComponent::class)
class AppModule

확인할 수 있듯이 Hilt는 Android 개발을 위한 많은 편의 기능들을 포함하고 있습니다. 저에게는 Hilt가 우리 개발의 미래처럼 보이기 때문에 아직 시도해보지 않았다면 ‘안드로이드 개발 트렌드’로 지금이 딱 시도해볼 적절한 시기입니다

Kotlin Flow

2022 안드로이드 개발 트렌드 3

Kotlin은 몇년 전 공식 프로그래밍 언어로 발표되었습니다. Kotlin Coroutines는 얼마 전 대중화되었습니다. 이제 다음 단계, RxJava의 경량 대안인 Kotlin Flow로 나아갈 시간입니다.

Kotlin Flow는 비동기적으로 계산된 여러 값들을 반환할 수 있는 방법입니다. 가장 인기있는 옵션은 아마 StateFlow이나 현재 값을 노출하는 가변적인 대응물(mutable counterpart)일 것입니다. 이후에 SharedFlow와 Flow 빌더에 익숙해질 수 있습니다.

RxJav와 유사한 많은 연산자들을 보유하고 있지만, 매우 단순한 디자인을 유지하고자 노력합니다. Kotlin Coroutiness를 사용할 경우, Kotlin Flow를 가장 먼저 선택해야 합니다. LiveData도 지원하지만, Android에서의 개발은 FLow를 위하여 LiveData를 포기하는 방향으로 추세가 이동하고 있습니다.

Kotlin Flow 사용 샘플

Clss FavoritesListUseCase @Inject constructor()

  private val viewState = MutableStateFlow<FavoritesListViewState>(FavoritesListViewState.Loading)
  val viewState: Flow<FavoritesListViewState> = viewstate

  suspend fun refreshFavoritesViewState()
    viewState.value = FavoritesListViewState.Loading
    viewState.value = requestFavorites()
}

@HiltViewModel
class FavoritesListViewModel @Inject constructor(
  private val useCase: FavoritesListuseCase,
){

  val viewStateLiveDate: LiveData<FavoritesListViewState> = useCase.viewState.asLiveDate()


  fun refreshFavoritesViewState()
    viewModelScope.launch {requestFavoritesViewState() }
  }
}

Kotlin Flow에 대해 더 알아보고 싶다면, JetBrains가 제작한 훌륭한 문서를 살펴보는 것을 추천합니다. (https://kotlinlang.org/docs/flow.html)

Summary

‘안드로이드 개발 트렌드’로 3가지 주제만을 다루는 것처럼 보일 수 있지만, 이 3가지가 Android 앱 프로그래밍 방식을 완전히 바꾸어 놓을 수 있습니다. 왜냐하면 이 3가지가 코드베이스의 모든 레이어를 다루기 때문입니다.

더 나아가 저는 이 3가지 도구를 함께 사용하여 더 좋고, 강력하고, 테스트하기 쉬운 코드베이스를 제작하는 것에 도움이 되도록 해야 한다고 생각합니다. 이들은 가장 최신의 ‘안드로이드 개발 트렌드’이고, 이러한 안드로이드 개발 트렌드 도구를 배우는 것에 시간을 할애하는 것은 확실히 가치가 있을 것입니다.

출처: https://betterprogramming.pub/android-development-trends-for-2022-51734382bce1



국내 1위 IT아웃소싱 플랫폼,

위시켓이 궁금하신가요?

앱 개발 비용 궁금하세요?
위시켓이 바로 알려드릴게요!

2022 안드로이드 개발 방향2022 안드로이드 개발 추세2022 안드로이드 개발 트렌드2022 안드로이드 개발 현황안드로이드 개발 트렌드
다음 글

위시켓 블로그의 새로운 소식 받기