본문 바로가기
Kotlin

[Kotlin / Android] 11. 제트팩 라이브러리 - 제트팩과 androidx 소개

by 쀼르쀼르 2024. 3. 22.

11-1 제트팩과 androidx 소개


 

 

 

제트팩(Jetpack)

- 안드로이드 앱을 개발하는 데 필요한 다양한 라이브러리 모음

- 안드로이드 플랫폼이 기본으로 제공하는 플랫폼 API외에 따로 추가된 라이브러리

 

 

플랫폼 API

플랫폼 API는

ART(Android runtime)에서 제공하는 안드로이드 앱의 핵심 라이브러리임

 

ART는 대부분 androidjava로 시작하는 패키지명을 사용함

 

java.lang.String.java.util.Date 등의 자바 클래스부터

android.app.Activity, android.widget.TextView 등의

안드로이드 클래스는 모두 플랫폼 API임

 

플랫폼 API 구성

 

안드로이드 앱은 런타임 때 ART에 의해 실행되므로

ART에서 제공하는 플랫폼 API를 이용해 개발함

 

but

플랫폼 API 이용하면 사용자 기기의 버전과 달라서

호환성 문제가 발생할 수 있음

 

또한 플랫폼 API는 기본 재료일 뿐 실제 앱을 개발할 때는

더 다양한 기능이나 화면을 구현해야 함

→ 구글은 2018년에 제트팩이라는 라이브러리 모음 발표함

 


 

 

제트팩

 

구글에서 안드로이드 앱 개발용으로 제공하는 다양한 라이브러리 모음으로,

androidx로 시작하는 패키지명을 사용함

 

안드로이드 공식 문서에는 제트팩을 다음처럼 소개함

 

제트팩은 크게 3가지 목적으로 제공함

  • 앱을 개발하는 데 필요한 권장 아키텍처를 제공함
  • API 레벨의 호환성 문제를 해결함
  • 플랫폼 API에서 제공하지 않는 다양한 기능을 제공함

 

제트팩에서는 앱을 개발할 때 적용할 수 있는 다양한 아키텍처를 제시하며

이를 위해 뷰 모델(ViewModel), 라이브 데이터(LiveData), 룸(Room),

페이징(Paging) 등과 같은 라이브러리를 제공함

 

 

제트팩은 API 레벨의 호환성 문제를 해결해 줌

 

예를 들어 툴바를 구현하려면 플랫폼 API에서 제공하는

android.widget.Toolbar 클래스를 이용해야 함

 

but

이 클래스는 API 레벨 21 버전에 추가되었으므로

하위 버전의 기기에서는 오류가 발생함

 

제트팩의 appcompat 라이브러리에서 제공하는

    androidx.appcompat.widget.Toolbar 클래스를 이용하면

    호환성 문제가 발생하지 않음

 


 

 

androidx 라이브러리

 

제트팩에는 androidx라는 패키지명으로 시작하는 다양한 라이브러리*가 있음

* androidx 라이브러리 소개: developer.android.com/jetpack/androidx

 

화면 구성과 관련된 라이브러리

  • androidx.appcompat: 앱의 API 레벨 호환성을 해결함
  • androidx.recyclerview: 목록 화면을 구성함
  • androidx.viewpager2: 스와이프로 넘기는 화면을 구성함
  • androidx.fragment: 액티비티처럼 동작하는 뷰를 제공함
  • androidx.drawerlayout: 옆에서 서랍처럼 열리는 화면을 구성함