PROGRAMMING/Android

[JETPACK] JETPACK이란?

yuujoeng 2023. 3. 4. 17:53

1 JETPACK이란?

구글에 Jatpack을 검색해보면 나오는 이미지는 아래와 같은데,

개발자에게 부스터를 달아주는 라이브러리라는 것을 한 눈에 알 수 있다 !

 

(1) Android Jetpack

안드로이드 개발자 문서는 Jetpack을 개발자가 중요한 코드에 집중할 수 있도록 권장사항 준수, 상용구 코드 감소, 여러 Android 버전과 기기에서 일관되게 작동한느 코드 작성을 돕는 라이브러리 묶음이라고 소개하고 있다.

더보기

Android Jecpack을 사용해야 하는 이유

1. 권장 사항 준수 : 이전 버전과의 호환성 기능잉 통합되어 비정상 종료와 메모리 누수를 줄여줌

2. 상용구 코드 제거 : 개발자가 뛰어난 앱을 만드는 데에만 집중할 수 있도록 백그라운드 활동을 관리해줌

3. 파편화 줄이기 : 모든 Android 버전 및 기기에서 일관되게 작동하는 라이브러리를 사용해 복잡성을 줄임

 

Android Jetpack 개발자 리소스 - Android 개발자  |  Android Developers

Follow best practices, eliminate boilerplate code, and reduce fragmentation

developer.android.com

 

2 JETPACK의 새로운 구성요소

Android Jetpack 카테고리

(1) WorkMananager

 - 지속적인 작업에 권장되는 솔루션

 - 제약 조건 기반 백그라운드 작업을 위한 원스톱 솔루션을 제공하는 라이브러리

 - 지속적인 작업의 우형 : 작시, 장기 실행(10분 이상), 지연가능(나중/주기적 실행)

 

(2) Navigation

 - 기존 액티비티는 데이터 공유 및 전환에 관한 경직성으로 인해 내비게이션 구성에 이상적인 아키텍처가 아님

 - 단일 활동 앱을 기본 아키텍처로 만드는데 중점을 두고 인앱 UI를 구성하기 위한 프레임워크 제공

 - Lifecycle 및 ViewModel과 같은 아키텍처 구성 요소의 이점을 누리는 동시에

    Navigation에서 FragmentTransactions의 복잡성을 처리할 수 있음

 

(3) Paging

 - RecyclerView에서 대용량 데이터 세트를 쉽게 로드하고 표시할 수 있음

 - 로컬 저장소, 네트워크 또는 둘 다에서 페이징된 데이터를 로드 가능

 - Room, LiveData, RxJava와 함께 활용

 

(4) Slices

 - Google 검색 앱 내 및 Google 어시스턴트와 같은 다른 요소에 앱의 서식 있는 동적 양방향 콘텐츠를 표시할 수 있는 UI 템플릿

 - 잘 와닿지 않아서 더 찾아봐야할 듯!

 

Slice 템플릿  |  Android 개발자  |  Android Developers

Slice 템플릿 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 문서에서는 Android Jetpack의 템플릿 빌더를 사용하여 Slice를 구성하는 방법을 자세히 설명합니

developer.android.com

 

Slice  |  Android 개발자  |  Android Developers

Slice 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Slice는 Google 검색 앱 내 및 Google 어시스턴트와 같은 다른 요소에 앱의 서식 있는 동적 양방향 콘텐츠를

developer.android.com

 

(5) Android KTX(Kotlin Extensions)

 - Kotlin 언어 기능을 활용하여 생산성 향상

 - Android KTX를 활용해 간결한 코틀린 코드로 변환

 

Android KTX  |  Android 개발자  |  Android Developers

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android KTX는 Android Jetpack과 기타 Android 라이브러리에 포함된 Kotlin 확장 프로그램 세트입니다. KTX 확장 프로그

developer.android.com