Android Jetpack 이란 ?
Jetpack은 개발자가 관심 있는 코드에 집중할 수 있도록 권장사항 준수, 상용구 코드 제거, 모든 Android 버전과 기기에서 일관되게 작동하는 코드 작성을 돕는 라이브러리 모음입니다.
Jetpack 구성요소
Jetpack은 크게 4가지의 구성요소로 나눌 수 있고 각 구성요소에는 다양한 라이브러리들과 툴들이 존재한다.
jetpack 유형별 라이브러리 공식홈페이지
https://developer.android.com/jetpack/androidx/explorer
Architecture
- Data Binding - xml 파일에 Data를 연결해서 사용할 수 있게 도와준다.
- Lifecycles - android activity 생명주기 관련 유틸리티
- LiveData - 데이터가 변경될때 실시간으로 view에 알려준다.
- Navigation - activity,fragment 간 이동을 쉽게 도와준다.
- Paging - 대량의 데이트를 관리해주는 유틸리티
- Room - Database 보다 쉽게 사용할 수 있게 도와준다.
- WorkManager - 백그라운드 작업을 보다 쉽게 도와준다.
Foundation
- AppCompat - 하위 Android 앱에서 최신 버전 sdk를 사용할 수 있도록 도와준다.
- Android KTX - 코틀린 코드를 더욱 간결하게 만들어준다.
- Multidex - dex 관리 관련 유틸리티
- Test - Android 데스터관련 유틸리티
Behavior
- Download manager - 큰 파일 다운로드을 service 차원에서 관리를 도와준다
- Media & Playback - 미디어 파일 재생 관련 유틸리티
- Permissions - Android 권한 관련 유틸리티
- Notifications - Android notification 관련 유틸리티
- Sharing - Actionbar에서 데이터를 보다 쉡게 공유할 수 있도록 도와준다.
UI
- animation & transitions - 앱 UI에서 다양한 애니메이션을 쉽게 구현하도록 지원
- 앱에서의 다양한 애니메이션, 이모지 또는 다양한 플랫폼 (TV, 워치) 과련 유틸리티를 사용할 수 있는 컴포넌트.
또한 JetPack의 컴포넌트는 안드로이드 플랫폼의 일부가 아니므로 개발자는 원하는 androidx.* 패키지 라이브러리를 이용하여 원하는 컴포넌트만 취사선택하여 이용할 수 있다.
REFERENCE