오늘은 AAC(Android Architecture Components)에 대해 공부해보겠다. 먼저 Android Jetpack에 대해 알아보자.
Jetpack은 2018년 5월에 구글이 발표한 라이브러리와 도구 모음집이다.
개발자들이 쉽고, 빠르게, 퀄리티가 좋은 앱을 만들 수 있도록 도와주는 라이브러리와 도구를 모아두었다. 앞서 Support library라는 라이브러리 모음집이 존재했다고 한다. 하지만 해당 Support library에 여러 문제점들이 존재했다. 이를 대폭 개선하며 새로운 이름으로 등장한 것이 Jetpack이다. 현재도 Support library(android)는 사용 가능하지만, android 측에선 androidx를 사용할 것을 권장하고 있다. 여담으로 Support library의 문제점은 다음과 같았다고 한다.
androidx?
"Jetpack 라이브러리들을 묶은 패키지명"
그래, 언젠가 gradle 파일에서 본 적이 있었다.
그렇다면 constraintLayout이 jetpack의 라이브러리인가?그렇다고 한다.
자 그럼 Jetpack에 대해 알게 됐을 것이다. 이제 AAC를 공부해도 된다. Jetpack은 라이브러리 모음이라고 했다. AAC는 이 Jetpack의 한 섹션이다. Jetpack에서 테스트와 유지관리가 쉬운 앱을 디자인할 수 있도록 도와주는 라이브러리들의 모음이다. 다음과 같은 라이브러리들이 AAC에 포함돼있다.
다시 AAC의 본질로 돌아가보자. 테스트와 유지관리가 쉬운 앱을 디자인할 수 있도록 도와주는 라이브러리들의 모음이라고 했다. 테스트와 유지관리가 쉬운 앱 아키텍처 패턴인 MVVM 패턴이 기억나지 않는가. Android에선 이 MVVM 패턴 적용을 지향하고, AAC의 라이브러리를 사용해 MVVM 패턴을 적용을 수월하게 해준다. 해당 내용에 대한 가이드라인 또한 존재한다.
해당 가이드라인을 읽어보면 알게되겠지만 MVVM 패턴 구현 과정에 앞서 언급했던 AAC 라이브러리들이 사용되는 것을 알 수 있다. 따라서 MVVM에서 AAC가 언급되고, AAC에서 MVVM이 언급되는 것이다. 아 물론 AAC는 Jetpack의 한 섹션이라는 것을 기억해줬으면 한다! 포트폴리오 제작 시기가 임박했다. 따라서 위의 가이드라인을 따라가며 MVVM 적용에 대한 준비를 하면 될 것 같다.