반응형
Android Jetpack은 Google이 제공하는 안드로이드 개발을 위한 모듈형 라이브러리 모음입니다. Jetpack 라이브러리는 다양한 카테고리로 나뉘어져 있으며, 각 카테고리는 특정 기능이나 개발 영역을 지원합니다. 아래는 Android Jetpack에서 지원하는 모든 라이브러리의 목록입니다.
Android Jetpack 라이브러리 카테고리
- Foundation
- Architecture
- Behavior
- 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의 모든 라이브러리는 독립적으로 사용이 가능하므로, 프로젝트의 필요에 따라 적절한 라이브러리를 선택하여 사용할 수 있습니다.
반응형
'언어 > Kotlin' 카테고리의 다른 글
[ Kotlin ] 데이터 타입의 종류는 어떤 것이 있는 알아보자. (0) | 2024.06.12 |
---|---|
[ Kotlin ] 변수 사용하기 (0) | 2024.06.12 |
[ Kotlin ] Jetpack을 사용하면 얻는 이점 (0) | 2024.06.12 |
[ Kotlin ] 코틀린에서 사용할 수 있는 구글 공식 라이브러리 종류 (0) | 2024.06.12 |
[ Kotlin ] 자바와 코틀린의 개발 차이는 ? (0) | 2024.06.12 |