본문 바로가기

언어/Kotlin

[ 코틀린 / Kotlin ] Jetpack에서 지원하는 라이브러리 종류

반응형

 

 

Android Jetpack은 Google이 제공하는 안드로이드 개발을 위한 모듈형 라이브러리 모음입니다. Jetpack 라이브러리는 다양한 카테고리로 나뉘어져 있으며, 각 카테고리는 특정 기능이나 개발 영역을 지원합니다. 아래는 Android Jetpack에서 지원하는 모든 라이브러리의 목록입니다.

Android Jetpack 라이브러리 카테고리

  1. Foundation
  2. Architecture
  3. Behavior
  4. UI

1. Foundation (기초)

Foundation 카테고리는 안드로이드 앱 개발의 기초적인 기능과 서비스를 제공합니다.

  • AppCompat: 모든 Android 버전에서 최신 Android 기능을 사용할 수 있도록 지원합니다.
  • Android KTX: Kotlin 언어용 확장 기능으로, Android API를 더 간결하고 직관적으로 사용할 수 있게 합니다.
  • Multidex: 하나의 APK에 포함될 수 있는 메소드 수의 제한을 초과하는 앱을 지원합니다.
  • Test: Android 앱 테스트를 위한 도구와 API를 포함합니다. (JUnit, Espresso 등)
  • Test UI Automator: UI Automator를 사용하여 앱의 UI를 자동화된 방식으로 테스트할 수 있게 합니다.

2. Architecture (아키텍처)

Architecture 카테고리는 앱의 구조와 데이터를 관리하는 데 도움이 되는 라이브러리를 포함합니다.

  • Data Binding: XML 레이아웃에서 UI 컴포넌트를 데이터 소스에 바인딩할 수 있습니다.
  • Lifecycles: Android 컴포넌트의 수명 주기를 관찰하고 관리하는 도구를 제공합니다.
  • LiveData: 수명 주기 인식 데이터를 관리하고, 데이터의 변경 사항을 관찰할 수 있습니다.
  • Navigation: 앱 내에서 탐색을 단순화하고, UI 구성 요소 간의 이동을 관리합니다.
  • Paging: 큰 데이터 세트를 효율적으로 로드하고, 표시하기 위한 페이징 라이브러리입니다.
  • Room: SQLite 데이터베이스에 대한 객체 관계 매핑(ORM)을 제공합니다.
  • ViewModel: UI 관련 데이터를 수명 주기에 따라 관리하고, 데이터의 생존성을 보장합니다.
  • WorkManager: 지연 작업을 안전하게 예약하고, 특정 조건에서 작업을 보장된 방식으로 실행합니다.
  • Hilt: 의존성 주입 라이브러리로, Dagger의 안드로이드용 단순화된 버전입니다.

3. Behavior (행동)

Behavior 카테고리는 사용자 행동 및 앱 상호작용을 관리하는 기능을 제공합니다.

  • DownloadManager: 파일 다운로드를 관리하는 시스템 서비스입니다.
  • Media & Playback: 미디어 파일의 재생과 관리 기능을 제공합니다.
  • Notifications: 사용자에게 알림을 보내는 기능을 제공합니다.
  • Permissions: 런타임 권한 관리를 간단하게 합니다.
  • Preferences: 앱의 설정과 사용자 데이터를 관리합니다.
  • Sharing: 다른 앱과 콘텐츠를 쉽게 공유할 수 있는 기능을 제공합니다.
  • Slices: 앱의 UI를 다른 앱이나 화면에서 사용할 수 있도록 지원합니다.
  • App Startup: 앱의 초기화 시퀀스를 최적화하여 더 빠르게 시작할 수 있게 합니다.

4. UI (사용자 인터페이스)

UI 카테고리는 앱의 사용자 인터페이스를 구성하고 관리하는 도구와 컴포넌트를 제공합니다.

  • Animation & Transitions: 애니메이션과 화면 전환 효과를 관리하는 도구입니다.
  • Auto: 안드로이드 오토용 앱 개발을 지원합니다.
  • Emoji: 앱에서 이모지를 사용할 수 있게 지원합니다.
  • Fragment: 모듈화된 UI 컴포넌트로, 앱의 UI를 구성하는 기본 단위입니다.
  • Layout: ConstraintLayout과 RecyclerView를 포함하여 다양한 레이아웃 옵션을 제공합니다.
  • Palette: 이미지에서 색상을 추출하고, 이를 앱의 UI에 활용할 수 있게 합니다.
  • Transition: UI 상태 간의 전환을 부드럽게 처리합니다.
  • Vector Drawable: 벡터 그래픽과 애니메이션을 지원합니다.
  • Wear: 안드로이드 웨어러블용 앱 개발을 지원합니다.
  • Biometric: 생체 인식을 통해 사용자 인증을 관리하는 기능을 제공합니다.
  • CameraX: 카메라 애플리케이션 개발을 단순화하는 라이브러리입니다.
  • Custom View: 맞춤형 뷰를 쉽게 만들 수 있는 도구를 제공합니다.
  • Navigation: 다양한 화면 간의 탐색을 단순화하고 관리하는 도구입니다.
  • SlidingPaneLayout: 화면의 일부분을 슬라이드하여 다른 부분을 표시할 수 있게 합니다.
  • SwipeRefreshLayout: 사용자가 끌어당겨서 새로고침할 수 있는 레이아웃을 제공합니다.
  • ViewPager2: 여러 페이지의 콘텐츠를 스와이프로 전환할 수 있는 뷰입니다.

Jetpack Compose

Jetpack Compose는 Android용 선언적 UI 툴킷으로, UI를 선언적 방식으로 쉽게 구축할 수 있습니다. Compose는 최신 UI 구성 요소를 제공하며, 기존의 XML 기반 레이아웃 방식에서 탈피한 새로운 UI 개발 방법입니다.

  • Compose Animation: 애니메이션을 쉽게 정의하고 사용할 수 있는 도구입니다.
  • Compose Foundation: Compose의 핵심 구성 요소를 제공합니다.
  • Compose Material: Material Design 원칙을 따르는 UI 구성 요소를 제공합니다.
  • Compose Runtime: Compose의 런타임 환경을 제공합니다.
  • Compose UI: 고급 UI 구성 요소와 도구를 제공합니다.

결론

Android Jetpack은 안드로이드 앱 개발을 단순화하고, 모듈성과 유지보수성을 향상시키는 강력한 도구입니다. Jetpack의 다양한 라이브러리를 사용하면, 개발자는 더 적은 노력으로 고품질의 앱을 빠르게 개발할 수 있습니다. 또한, Jetpack의 모든 라이브러리는 독립적으로 사용이 가능하므로, 프로젝트의 필요에 따라 적절한 라이브러리를 선택하여 사용할 수 있습니다.

반응형