개발 중에 모르는 것들을 인터넷에서 찾아다니다 보면 어렵지 않게 보던 이름(?)인데 문득 이게 어떤 건지 궁금해졌다. 대충 듣기로는 그냥 안드로이드에서 제공해주는 라이브러리 묶음이라고는 알고 있는데 알아보았다.
https://developer.android.com/jetpack?hl=ko
공식 안드로이드 사이트에서 말하기를
개발자가 관심 있는 코드에 집중할 수 있도록 권장사항 준수, 상용구 코드 축소, 모든 Android 버전 및 기기에서 일관되게 작동하는 코드 작성을 돕는 라이브러리 모음
이렇게 소개하고 있다. 대충 알고 있던 것 처럼 여러 라이브러리들을 모아놓은 라이브러리 모음이란다. 그래서 그 모음이라는 것에 어떤 것들이 있는가 했더니
괜히 모음이라고 부르던 것이 아니였다. 생각한 것보다 훨씬 많은 것들이 들어있더라. 단순히 알고 있는 것만 쳐도 Data Binding, Lifecycles, LiveData, Room 등 나도 모르는 사이에 Jetpack을 사용하고 있었나 보다.
그런데 쓰고 있었으면 적어도 의존성 추가 때 Jetpack 이라고 쓰여있으면 알 수 있었을 텐데 왜 몰랐던 걸까?
내가 생각했던 건 의존성 추가 때 Jetpack이라는 이름이 달려있을 줄 알았다.
implementation("jectpack.~")
그런데 못 볼만 했다. AndroidX 라이브러리로 사용되고 있었다.
실제로 Jetpack 설명 페이지에서 제공하는 샘플에서도
dependencies {
val lifecycle_version = "2.2.0"
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
...
}
이렇게 사용되고 있었다. 나는 지금까지 Jetpack을 사용하고 있었음에도 'androidx'라는 이름으로 되어 있어서 쓰는 줄도 모르고 있었나 보다.(충격)
결론은 내가 대충이라도 알고 있던 내용은 맞는 것이었지만 지금까지 여러 가지 해당되는 라이브러리 요소들을 사용하면서도 모르고 있었던 모양이다. 그리고 생각한 것보다 더 많고 다양한 것들을 지원하는 모음이었고, 조사하면서 Jetpack 페이지를 살펴보니 해당되는 라이브러리 요소들의 설명이나 예제들이 잘 설명되어있었다. 많은 도움이 될 것 같다.
https://developer.android.com/jetpack?hl=ko
https://developer.android.com/jetpack/getting-started?hl=ko#kts
https://developer.android.com/topic/libraries/support-library
https://velog.io/@eoqkrskfk94/android-Jetpack
https://todaycode.tistory.com/40
https://android-developers.googleblog.com/2018/05/use-android-jetpack-to-accelerate-your.html
'Android (Kotlin)' 카테고리의 다른 글
[Android/안드로이드] Java? Kotlin? (0) | 2023.03.09 |
---|---|
[Android/안드로이드] ANR이 뭐지? (0) | 2023.03.08 |
[Android/안드로이드] 코루틴(Coroutine)과 스레드(Thread)는 뭐지? (0) | 2022.09.20 |
[Android/안드로이드] JVM, JDK,JRE 얘들은 뭐지? (0) | 2022.09.16 |
[Android/안드로이드] JSON, GSON 정리 (0) | 2022.09.06 |
최근댓글