Sam Story

AAC (Android Architecture Component) 본문

개발지식

AAC (Android Architecture Component)

Sam H 2024. 3. 30. 16:34

AAC 란 ?

AAC는 Android Architecture Component 의 약자로

 

테스트와 유지보수가 쉬운 앱을 디자인 할 수 있도록 돕는 라이브러리의 모음이다.

 

Google I/O 2017에서 새로운 라이브러리를 AAC로 묶어서 발표를 먼저 했고

 

Google I/O 2018에서 Android Jetpack을 발표할 때는 Jetpack의 구성요소 중 하나로 AAC가 속하게 되었다.

 

Google I/O 2018의 발표 자료

 

위 이미지의 좌측 상단에 보면 Architecture 부분이 AAC이다.

 

 

그래서 총 8 개의 구성요소로 이루어져 있는데

 

1. Data Binding

 

2. Lifecycles

 

3. LiveData

 

4. Navigation

 

5. Paging

 

6. Room

 

7. ViewModel

 

8. WorkManager

 

이렇게 8가지의 구성요소로 이루어져있다.

 

 

간단하게 공식문서의 내용을 참고해 보면

안드로이드 공식문서의 내용 1

 

 

위에서 설명했듯이 앱을 설계하는데 있어서 효율적으로 사용할 수 있는 라이브러리들을 제공한다.

 

안드로이드 공식문서의 내용 2

 

 

그리고 AAC의 장점 중 하나라고 생각하는게 관심사 분리에 관련된 내용이다.

 

Activity Fragment에 모든 코드를 작성하는게 옳지 않다는걸 알게된건

 

최근 팀프로젝트 진행을 할때 MVC 라는 디자인패턴을 적용해 만든 앱이 있었는데

 

그때 관심사 분리 , 의존성 등에 대해서 좀 깨닫게 되었었다.

 

일반적으로 Activity나 Fragment는 UI 및 운영체제 상호작용을 처리하는 로직만 포함을 해야하고

 

나머지 작업들은 각자에 맞는 클래스에서 이루어져야 된다는걸 알게 되었었다.

 

 

 

이런 디자인패턴을 적용해보고 AAC에 대해서 공부를 해보니 더 이해가 잘되었었고

 

AAC 가 얼마나 상당히 편리한 라이브러리들을 제공한다는 걸 알게 되었다.

 

확실히 구글에서 권장하는데는 이유가 있고 그 이유들이 개발하는 입장에서 납득이 된다.

 

 

 

다음번에는 AAC의 라이브러리들을 사용한 예제들에 대해서 포스팅 해보겠다.