1. AndroidX ?
AndroidX는 Jetpack의 라이브러리들을 묶은 패키지 명으로 2018년 구글에서 발표
2. Android Support Library Vs. AndroidX
Android Support Library 느 28.0.0 버전을 마지막으로 더이상의 유지/관리, 업데이트가 중지 됬고
구글에서 뒤이어 신버전? 개념으로 나오게 된것이 AndroidX 되시겠다.
AndroidX 는 기존 Support Library 의 '모든' 기능, 특징들을 다 포함, fully Mapping 이 되어 있어 완전 대체가 가능함.
또한, AndroidX 의 경우 패키지 별로 유지/관리, 업데이트가 이루어지기 때문에 내 프로젝트에서 독립적(independently) 적용하여 사용이 가능하게 됬다는 것이 가장 큰 장점이라 할 수 있겠다.
3. 왜 바꼈나? (Support Library의 문제점)
- Only One Library
가장 큰 문제점은 엄청난 양의 모든 API 들이 단, 하나의 라이브러리로 제공되었다는 것이다.
원하는 Component 별, 업데이트 적용, 수정이 불가능하다 보니 개발하는 입장에서는 라이브러리가 버전업이 되어도
그것을 쉽게 적용하기가 두렵게 된다. (일부의 기능 개선이 된다해도 다른 부분에서의 또 다른 문제가 야기 될 가능성때문에)
- version 규칙의 모호성
쉽게 이해하기로 v3 -> v10 이라면 엄청난 상위 버전이라 생각하기 쉬운데 막상 그렇지 않다는 것
Android 의 경우 API의 레벨이 매우 다양하게 세분화 되어 있다. 그 레벨의 기준을 맞추어 개발해야 하는데 v10 이라면 API의 레벨 10 이상에서 사용가능한 버전이란 뜻으로 일반적으로 쓰이는 버전의 개념과 구분이 모호한 네이밍 규칙을 가져 혼란을 가져오는게 문제가 됬다.
그 외에도 문제점들이 있겠지만.. 각설하고 무튼 앞으로는 AndroidX Jetpack libraries 를 쓰면 된다.
4. 내가 사용하는 현재 버젼
현재 내가 사용하고 있는 Android Studio 의 버전은 다음과 같고
build.gradle 은 다음과 같이 라이브러리들이 포함 되어 있다. 만약 원한는 라이브러리가 있다면
이곳에 implementation 하여 가져와 사용하면 된다.
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
}
5. To Do!
AndroidX Jetpack libraries 은 그 양이 굉장히 많고 다양하여 모든것에 대해 알수는 없다. 그리고 지속적인
업데이트가 이루어 질 뿐아니라 현재 진행형 이므로 앞으로 공부해 나감에 있어 필요한 것들을 쉽게 찾아서 적용해 볼 수있는 방법을 고찰해보는게 중요하다는 생각이 든다.
'Android > Kotlin' 카테고리의 다른 글
[Android, Kotlin] Selector (0) | 2022.04.27 |
---|---|
[Android, Kotlin] BottomNavigation (0) | 2022.04.25 |
[Android, Kotlin] startActivityForResult (deprecated) (0) | 2022.04.25 |
[Android, Kotlin] BackButton (0) | 2022.04.23 |
[Android, Kotlin] Spinner (0) | 2022.04.23 |