[Android] Android Jetpack 이란?
* Android Jetpack 이란 무엇일까?

"Android Jetpack 은 빠르고 쉽게 훌륭한 Android 앱을 만들 수 있는 컴포넌트, 도구와 아키텍처 안내 세트"
"개발자가 관심 있는 코드에 집중할 수 있도록 권장준수, 상용구 코드 제거, 모든 Android 버전과 기기에서 일관되게 작동하는 코드 작성을 돕는 라이브러리 모음집"
즉, Jetpack은 Android 개발에 있어 빠르고 쉽게 개발하도록 도와주는 라이브러리 모음으로 보면된다.
또한, Jetpack은 안드로이드 플랫폼 API로 부터 분리되어 있어, 기존의 안드로이드 플랫폼에서 제공해주는 함수들이나, 기능들과는 별개로 존재한다.
*** API와 라이브러리 차이가 잘 이해 안간다면 여기 [ https://blog.msalt.net/293 ] 참고 ***
그렇다면, 왜? Jetpack을 사용하게 되었을까? Jetpack 이외에도 Android에서 제공해주는 라이브러리가 많은데...
* Android Jetpack 사용하게 되는 이유
(Android 개발 사이트 참고 정리)
1. 여러 API 버전을 지원하는 앱을 개발에 있어 손쉽게 호환성 처리
-> 즉, 새로운 API에 대한 하위 호환성
2. 편의 및 도우미 클래스 제공
-> 예를 들어 RecyclerView 이다. 이걸... 직접 한다고 생각해보면... ㅎㄷㄷ
3. 디버깅 및 유틸리티 제공
즉, 안드로이드 플랫폼 API 버전에 제한을 받지 않고 개발하는데 빠르고 쉽게 개발 하도록 도와주기 위해서라는것을 알 수 있다!!!
그럼 이제 Android Jetpack의 구성요소를 보고 무엇이 있는지 확인보면...
* Android Jetpack 구성요소
구성요소는 크게 4가지 Architecture / UI / Behavior / Foundation 으로 나뉘어져있다.
Jetpack에서 지원되는 더 많은 라이브러리를 보고 싶다면 Jetpack Overview 에서 확인 가능하다.
Jetpack에 대해 공부해봤으니 Jetpack의 라이브러리를 사용하지 않고 개발할때와 사용할때와 차이점은 무엇이 있을지 간단히 보고 넘어가도록 한다.
* Jetpack 사용하여 개발한 경우 vs 사용하지 않고 개발한 경우
@ 라이브러리 : Data Binding
@ 상황 : XML UI id를 Activity에서 호출
-> id : txt_name
사용 | 미 사용 |
binding.txt_name | view.findViewById(R.id.txt_name) |
위의 예시는 정말 간단한 부분을 보여준다. 내가 말하고 싶은건 간단하고, 쉽게 사용할 수 있다는걸 보여주고 싶었다.
이외에도 ViewModel / LiveData / Room 사용하여 DB 사용에 App 생명주기에 손쉽게 적용하여 개발할 수 있다.
Jetpack 라이브러리를 적재적소에 잘 사용하여 빠르고 쉽게 개발하는 그날까지 화이팅~!!
* 참고자료
https://developer.android.com/jetpack?hl=ko
Android 개발자 | Android Developers
Jetpack은 개발자가 관심 있는 코드에 집중할 수 있도록 권장사항 준수, 상용구 코드 제거, 모든 Android 버전과 기기에서 일관되게 작동하는 코드 작성을 돕는 라이브러리 모음입니다.
developer.android.com
https://developer.android.com/topic/libraries/support-library?hl=ko
지원 라이브러리 | Android 개발자 | Android Developers
참고: Android 9.0(API 수준 28)의 출시와 함께 Jetpack의 일부인 새로운 버전의 지원 라이브러리 AndroidX가 제공됩니다. AndroidX 라이브러리는 기존 지원 라이브러리를 포함하며 최신 Jetpack 구성요소 또한
developer.android.com
Android Jetpack은 API가 아니다
많은 사람들이 안드로이드 API처럼 사용하고 있는 Jetpack은 API가 아니다. Android Jetpack은 품질이 좋은 Application를 만들 수 있게 도와주는 라이브러리와 개발 도구이다. 사실 별로 중요한 것은 아니
blog.msalt.net
https://choheeis.github.io/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C/2020/05/25/jetpack.html
[안드로이드] 🚀 Android Jetpack이 뭐지?
chohee's develop & coding diary
choheeis.github.io
https://www.youtube.com/watch?v=LmkKFCfmnhQ