Android Jetpack

2023. 1. 29. 16:36Frontend/Android

    목차
반응형

Jetpack?

2018년 5월 8일 구글이 발표한 라이브러리와 도구 모음을 의미합니다. 개발을 보다 쉽게 할 수 있도록 돕는 역할을 수행합니다. 

 

AndroidX

Android Extension Libraries

 

기본 안드로이드가 제공하지 않는 다양한 유틸리티, TV, 웨어러블, 차량과 같은 다양한 곳에서 필요한 컴포넌트 들을 제공합니다. 

 

Support library이 문제점

 

1) fine graduality를 제공하지 않는 package

AndroidX를 사용하면 사용하고자 원하는 컴포넌트만 세분화 하여 라이브러리를 다운로드하여 사용할 수 있습니다.

기존 support library에서는 ViewPager 하나만 사용하고자 해도 DrawerLayout, CursorAdapter, SwipeRefreshLayout, SlidingPneLayout 등 사용하지 않을 수도 있는 패키지들을 모두 gradle을 통해 내려받아야만 했습니다.

 

2) version 교체의 어려움

appcompat-vX를 다른 version으로 교체해야 하는 상황이 발생하는 경우 design 부분까지 모두 함께 변경해야 하는 어려움이 존재합니다. 그래서 한번 결정된 버전을 변경하지 않고 개발을 하는 것이 보통의 개발 룰 이었습니다. 

 

Jetpack 구성

Jetpack은 androidx.*라는 이름으로 packging 되어 배포됩니다. 

JetPack은 크게 다음의 구성요소들을 지닙니다. 

  • Architecture
    • Data binding
    • Lifecycles
    • LiveData
    • Navigation
    • Paging
    • Room
    • ViewModel
    • WorkManager
  • Foundation
    • AppCompat
    • Android KTX
    • Multidex
    • Test
  • UI
    • Animationi and Transition
    • Auto, TV, Wear
    • Emoji
    • Fragment
    • Layout
    • Palette
  • Behavior
    • Download manager
    • Media & playback
    • Permissions
    • Notifications
    • Sharing
    • Slices

 

Jetpack libraries

  • androidx.appcompat
    • 앱의 코어 
    • API level 차이에 따른 호환성 이슈를 제거
  • androidx.recycleview
    • 목록화면 구성
  • androidx.viewpager2
    • swipe 하여 여러 화면 전환 관리 기능 제공
  • androidx.fragment
    • 화면 구성 요소들을 분리해주는 역할을 수행
  • androidx.drawerlayout
반응형

'Frontend > Android' 카테고리의 다른 글

Android RecyclerView  (0) 2023.01.29
Jetpack architecture  (0) 2023.01.29
Kotlin 익명 객체 생성 (object expression)  (0) 2023.01.28
@+id, @id 의미  (0) 2023.01.28
Android fragment  (0) 2023.01.27